a.dll(実行可能ファイルと同じフォルダー)、b.dll(ランダムフォルダー内)、およびc.dll(ランダムフォルダー内)を参照する実行可能ファイル、たとえばabc.exeがあります。
ただし、これらの DLL は必ずしも実行可能ファイル (または GAC) と同じディレクトリにあるとは限りません。これについては、私にはどうすることもできません。
System.Reflection.Assembly を使用して、abc.exe によって使用されるすべての参照アセンブリを見つけようとしました。
foreach (AssemblyName an in assembly.GetReferencedAssemblies())
{
Assembly.Load(an);
}
これにより、実行可能ファイルのディレクトリ (a.dll) にあるアセンブリが読み込まれるように見えますが、驚くことではありませんが、他のアセンブリに対してファイルが見つからないという例外がスローされます。
私の考えは、System.Diagnostics.Process を使用してプロセスをロードし、プロセスを反映することです。これにより、b.dll と c.dll(?) の場所がわかるはずです。
しかし、私はそうする方法がわかりません。これは可能ですか?ありがとう!