これは奇妙です。
を使用してDLLを動的にロードするWindowsアプリケーションがありますReflection.Assembly.LoadFrom(dll_file_name_here)
。
アプリケーションを別のDLLとILMergeするまで、期待どおりに機能します。
したがって、このシナリオは正常に機能します。
- MyApp.exe
- MyAppComponent.dll
- Plugin.dll
MyApp.exeとMyAppComponent.dllをILMergeすると、次のようになります。
- MyApp.exe
- Plugin.dll
呼び出しReflection.Assembly.LoadFrom("Plugin.dll")
は正常に読み込まれるようですが、それを使って何かをしようとすると、次のようになります。
foreach ( typeAsm in Reflection.Assembly.LoadFrom("Plugin.dll"))
「要求されたタイプの1つ以上をロードできません。詳細については、ローダーの例外プロパティを取得してください」という例外が発生します。
イライラするのは、事前マージのデバッグが完全に機能するため、実際にはデバッグできないことです。
ヘルプ?