1

プロジェクトのコンパイルが成功した後、いくつかのファイルを特定のフォルダーにコピーしたいと考えています。以下に示すように、ビルド後のイベントを作成しました。

xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y

注: 私のプロジェクトの出力パスは、デバッグ用の bin フォルダーに設定されており、両方のモードをリリースしています。

上記のビルド イベントは正常に機能し、bin フォルダーの下にあるすべてのファイルが宛先フォルダーにコピーされました。しかし、必要なファイルとともに、「vshost.exe」ファイルもコピーされました。このファイルは必要ありません。したがって、以下で説明するように、xcopy ビルド イベントの exclude パラメータを使用しました。

xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y /exclude:$(TargetDir)..\..\Support Files\DBUpgradeUtility\*.vshost.exe

上記のビルド イベントでは、コンパイルが失敗し、次のエラーが発生しました。

コマンド "xcopy "C:\TFSWorkspace\FASTER.Web - v6.3.Sprint.06\Source\Installer\Application\DBUpgradeUtility\bin" "C:\TFSWorkspace\FASTER.Web - v6.3.Sprint.06\ Source\Installer\Application\DBUpgradeUtility\bin....\Support Files\DBUpgradeUtility\" /Y /exclude:"C:\TFSWorkspace\FASTER.Web - v6.3.Sprint.06\Source\Installer\Application\DBUpgradeUtility \bin....\Support Files\DBUpgradeUtility*. vshost.exe」はコード 4 で終了しました。

また、除外パラメーターをグーグル検索してから、上記のビルドイベントを作成しました。ここで欠けているものや間違っていたものを見つけることができません。

これについて私を助けてください。

ありがとうございました。

4

1 に答える 1

1

コマンドの/excludeオプションのxcopy動作は異なります。除外フィルターを含むファイルを指定できます。

ファイルのリストを指定します。少なくとも 1 つのファイルを指定する必要があります。各ファイルには検索文字列が含まれており、各文字列はファイル内の別の行にあります。

いずれかの文字列が、コピーするファイルの絶対パスの一部と一致する場合、そのファイルはコピーから除外されます。たとえば、文字列を指定すると、ディレクトリの下のすべてのファイル\obj\または 拡張子を持つすべて.objのファイルが除外されます。obj.obj

したがって、プロジェクトに新しいファイルを作成し (例$(ProjectDir)excludes.txt: )、次の行を追加できます。

vshost.exe

次に、xcopy コマンドのオプションを次のように変更します。

/exclude:"$(ProjectDir)excludes.txt"

vshost.exeこれにより、絶対パスに含まれるすべてのファイルが除外されます。他のファイルを除外する必要がある場合は、ファイルに新しい行を追加するだけです。

于 2015-08-17T07:35:09.003 に答える