1. ホーム
  2. c#

[解決済み] Visual Studio で "xcopy exited with code 4" と表示されるのですが、何が問題なのでしょうか?

2022-02-07 13:23:26

質問

ビルド後のイベントについてはあまり詳しくないので、私のプログラムで何が問題になっているのか、少し混乱しています。Visual Studio 2010でコンパイルすると、次のようになります。

The command "xcopy C:\Users\Me\Path\Foo.bar\Library\dsoframer.ocx C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D
xcopy C:\Users\Me\Path\Foo.bar\ApplicationFiles C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D
xcopy C:\Users\Me\Path\url\ C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D
rmdir /S /Q C:\Users\Me\Path\Foo.bar\bin\Debug\.gwt-tmp" exited with code 4.    

プログラム が現れる。 しかし、この問題を無視して、何も悪いことが起こらないことを祈るばかりではいけません。不思議なことに、この行は最初は1つのコマンド(最初のxcopy)だけでしたが、プロジェクトをコンパイルし続けるうちに(他の問題、主にリファレンスを修正)、エラーメッセージはどんどん大きくなっていきました。何が起こっているのか、何か思い当たることはありますか?

編集:以下は、失敗していると思われるビルド後のイベントです。

xcopy $(ProjectDir)Library\dsoframer.ocx $(TargetDir) /Y /E /D
xcopy $(ProjectDir)ApplicationFiles $(TargetDir) /Y /E /D
xcopy $(SolutionDir)com.myUrl.gwt\www $(TargetDir) /Y /E /D
rmdir /S /Q $(TargetDir).gwt-tmp

解決方法は?

Xcopy exit code 4 は " を意味します。 初期化エラーが発生しました。メモリまたはディスク容量が不足しているか、コマンドラインに無効なドライブ名または無効な構文を入力しました。 "

Visual Studioがxcopyに無効な引数を与えているようです。ビルド後のイベントコマンドを Project > Right Click > Properties > Build Events > Post Build Event .

ただし、もし $(ProjectDir) などのマクロ用語は、展開した結果のパスにスペースがある場合、二重引用符で囲む必要があります。例えば

xcopy "$(ProjectDir)Library\dsoframer.ocx" "$(TargetDir)" /Y /E /D1