1

多くの依存プロジェクトによって参照されるプロジェクトがあり、そのプロジェクト内のいくつかのファイルは、依存プロジェクトを実行するために依存プロジェクトのバイナリ ディレクトリにある必要があります。

現在、いくつかのカスタム AfterBuild ターゲットが定義されています。1 つは参照プロジェクトにあり、必要なファイルを共有場所にコピーします。次に、各依存プロジェクトに 1 つずつあり、共有場所から bin ディレクトリにファイルをコピーします。これは機能しますが、維持するのが面倒で、もろくてハックな感じがします。

私が達成したいのは、ファイルがビルド時に依存プロジェクトの出力ディレクトリに自動的にコピーされるように、ファイルを参照プロジェクトのプライマリ プロジェクト出力 (つまり、.dll および .pdb と一緒に) に組み込むことです。 MSBuild ProjectReference。

これは可能ですか?もしそうなら、プライマリ出力が発見されるメカニズムは何ですか?また、ファイルをどのアイテムグループに追加する必要がありますか? MSBuild は .dll と .pdb のみを検索するように "ハードコード" されていますか?

参考までに、私は自分自身を MSBuild の初心者よりも上のどこかにいると考えていますが、MSBuild の専門家よりもはるかに下です。私は Hashimi の「Inside the Microsoft Build Engine」を読み、ほとんど理解しました。また、他のタスクのために MS ターゲット ファイルを数回掘り下げることができましたが、中程度の成功を収めました。ただし、この問題はこれまでのところ私を超えています。

また、この似たような質問を確認しましたが、プロジェクトの参照には対応していません。プロジェクトで追加のファイルを生成するだけです。

4

0 に答える 0