1

3 つの dll ライブラリを含むプロジェクトがあります (そのうちの 1 つには 2 つの依存関係があります)。

プロジェクトの構造

「DLL 親」の出力フォルダには、この 2 つの子のすべてのソース ファイルが必要です。Moveover DLL-parent の出力フォルダーに 'cs' フォルダーを作成して、この cs ファイルの構造を保存し、そこに DLL-Child 名でサブフォルダーを作成し、そのすべての cs ファイルをこのフォルダーにコピーします。

これを行うために、DLL-Child のビルド後のイベントを使用します。 ここに画像の説明を入力

そして、このdllだけをビルドすると、最下位レベルで完全に機能します。

このコマンド ラインを DLL-Child ポスト ビルド イベントで設定すると、出力はソース ファイルを含むフォルダーと共に作成されます。

しかし、ソリューション全体をビルドすると、このフォルダーが DLL-Child の出力から DLL-Parent の出力にコピーされないという問題が発生します。なんで ?DLL-Parent の参照セクションで、依存関係に対して「ローカルのコピー」を true に設定しましたが、何もコピーしません。

4

1 に答える 1

0

プロジェクトごとに個別のフォルダーにファイルをエクスポートします。この単純なビルド後のスクリプトを使用して (ビルド後のイベントとして設定し、on successful build毎回コピーするのではなく、ビルドが適切に行われた場合にのみコピーするように選択することをお勧めします)

copy "$(ProjectDir)FolderName\*" "PathYouWantYourFilesCopiedTo"

プロジェクト内の特定のフォルダーからすべてのファイルを出力できます。既存のフォルダーをチェックする必要はありません。VS が独自に行います。ファイルのフォルダーごとに 1 つのビルド イベントを作成します。それらが別々のフォルダーにある場合、何も上書きされません(出力でフォルダー構造を維持している限り)。また、ファイルごとにコピーするよりも、フォルダー全体をコピーする方が簡単です。基本的に、出力場所のフォルダー名を明示的に指定する必要があります。これにより、ファイルの上書きが停止します。

于 2015-11-11T08:11:22.507 に答える