設定は次のとおりです。
純粋なDotNETクラスライブラリは、管理されていないデスクトップアプリケーションによってロードされます。クラスライブラリはプラグインとして機能します。このプラグインは、独自の小さな赤ちゃんプラグイン(すべてのDotNETクラスライブラリ)をロードし、dllをバイトストリームとしてメモリに読み込んでからロードします。
Assembly asm = Assembly.Load(COFF_Image);
これらの小さな赤ちゃんプラグインが他のdllへの参照を持っている場合に問題が発生します。それらはディスクから直接ではなくメモリを介してロードされるため、フレームワークはこれらの参照されたアセンブリを見つけることができないことが多く、したがってそれらをロードすることができません。
AssemblyResolverハンドラーをプロジェクトに追加すると、これらの参照されたアセンブリが削除されるのを確認できます。これらの参照されたアセンブリをディスク上のどこに配置するかについてはかなり良い考えがありますが、ロードするAssmeblyが正しいものであることを確認するにはどうすればよいですか?
要するに、このdllが隠れている可能性のあるすべてのフォルダーのリストがあると仮定して、System.ResolveEventArgs.Nameフィールドからdllファイルパスに確実に移動するにはどうすればよいですか?