マネージド コードをビルドするとき、Visual Studio は、参照されているマネージド プロジェクトの dll をビルド中のプロジェクトの出力フォルダーに正しく (そして再帰的に) コピーします。
ただし、これらの参照の 1 つがアンマネージド DLL に依存するマネージド DLL である場合、それらの対応するプロジェクトが同じソリューション内にあり、マネージド DLL の依存関係としてリストされていても、これらのアンマネージド DLL は出力フォルダーにコピーされません。
この問題は、すべてのプロジェクトで同じ出力フォルダーを使用することで解決できることを認識しています。ほとんどのプロジェクトで既にこれを行っていますが、単体テストの出力フォルダーを分けておくことを好みます。これにより、管理されていない依存関係を持つ管理された Dll を使用する単体テストで上記の問題が発生します。
私たちが現在使用しているソリューションは、必要な DLL をコピーするビルド前のイベントですが、マネージド DLL を使用するすべてのプロジェクトで繰り返す必要があるため、これは時間を浪費し、エラーが発生しやすくなります。
したがって、マネージ DLL をコピーすることを決定するたびに、常にマネージ DLL のアンマネージ依存関係をコピーする必要があることをビルド システムに理解させる方法があるかどうかを知りたいですか?