Esto es extraño.carga dinámica funciona bien, excepto después de que el ejecutable está ILMerged
Tengo una aplicación de Windows que carga dinámicamente archivos DLL usando Reflection.Assembly.LoadFrom(dll_file_name_here)
.
Funciona como se esperaba, hasta que ILMerge la aplicación con otra DLL.
Así que este escenario funciona bien:
- MyApp.exe
- MyAppComponent.dll
- Plugin.dll
Una vez que ILMerge MyApp.exe y MyAppComponent.dll lo que resulta en:
- MyApp.exe
- Plugin.dll
Calling Reflection.Assembly.LoadFrom("Plugin.dll")
parece cargar con éxito, sin embargo una vez que trato de hacer cualquier cosa con él por ejemplo:
foreach (typeAsm in Reflection.Assembly.LoadFrom("Plugin.dll"))
consigo una excepción "no puede cargar una o más de las tipos solicitados recuperar la propiedad excepciones cargador para más informtion".
Lo frustrante es que no puedo depurarlo, debido a la depuración de fusión pre funciona perfectamente!
Ayuda?
Debug it con fuslogvw.exe. escenario de error es plugin.dll que tiene una dependencia en el desaparecido myappcomponent.dll –