3

宛先ディレクトリに含める必要があるファイルがかなりあるアプリケーションを構築しています。これまでのところ、ファイルはそれほど多くないので、各ファイルの設定を個別にCopy to Output Directory :: Copy if newer. ここでの問題は、指数関数的な速度でファイルを追加していることです。

ここに画像の説明を入力

「Some_Directory」のサブであるすべてのファイルに、Copy to Output Directory :: Copy if newer私が望むように設定する方法を知っている人はいますか?

4

3 に答える 3

1

xcopyコマンドを使用して、独自のカスタムビルド後イベント(プロジェクトの選択 -> プロパティ -> ビルド イベント) を作成できます。ソリューション ディレクトリに $(solution) マクロを使用し、ファイルへの相対パスを指定できます。

于 2012-06-08T02:02:17.367 に答える
1

ビルド後のイベントを使用できます。

次の投稿を使用して、まさにあなたが望むことを行う投稿イベントを作成しました。

これで、ビルド後のイベントを簡単に編集し、プロジェクト設定に移動して [コンパイル] タブに移動し、[ビルド イベント] をクリックして、次の行を *Post-build event command line" テキスト ボックスに入力できます。

xcopy "$(ProjectDir)Test\*.*" "$(TargetDir)Test\\" /E /I /F /Y

この画像を参照してください。 ビルド後のイベント

あなたの場合、「Test」を「some_directory」で変更する必要があり、それだけです。

ただし、注意点が 1 つあります。これにより、プロジェクトがビルドされるたびにすべてのファイルがコピーされます。コピーされているフォルダーは 3MB を超えています (かなり大きなプロジェクトを開発しています)。これにより、ビルドを行うたびにすべてのコンテンツを移動する必要があるため、デバッグにかなりの時間がかかります。最後のビルド以降に更新されたファイルのみをコピーする方法はありますか? Copy if newerこれが、オプションを使用していた理由です。

/Dパラメータを追加できます(xcopy /?コマンドプロンプトで調べることができます)。

/D:m-d-y     Copies files changed on or after the specified date.
             If no date is given, copies only those files whose
             source time is newer than the destination time.
于 2012-06-08T02:02:40.403 に答える
1

私は同じ問題を抱えていましたが、受け入れられた答えはそれを解決しませんでした。私にとってうまくいったのは、Local.testsettings(ソリューションアイテムの下)で展開を有効にすることでした。

于 2012-06-18T15:08:22.990 に答える