MainProj
他のいくつかの DLL プロジェクトを参照する C# プロジェクト (と呼びます) があります。これらのプロジェクトをMainProj
の参照に追加することにより、プロジェクトがビルドされ、結果の DLL が MainProj の作業ディレクトリにコピーされます。
私がやりたいのは、これらの参照される DLL をMainProj
、作業ディレクトリ自体ではなく、 の作業ディレクトリ、つまり MainProj/bin/DLLs のサブディレクトリに配置することです。
私は経験豊富な C# プログラマーではありませんが、C++ の世界から来たので、1 つのアプローチは、プロジェクト参照を削除し、必要な DLL をパスとファイル名 (つまり、C++ でLoadLibrary
) で明示的にロードすることだと思います。ただし、方法があれば、ある種の「参照バイナリパス」を設定することをお勧めします。これにより、ビルド時にすべてがこのサブディレクトリに自動コピーされます(その後、そこから参照されます)。私は明示的にそれぞれをロードする必要があります)。そのようなことは可能ですか?
そうでない場合、私が求めていることを達成するためにC#で推奨される方法は何ですか(つまり、Assembly.Load
/ Assembly.LoadFile
/を使用したもの、またはおそらくAssembly.LoadFrom
? の何か)AppDomain
System.Environment