1. ホーム
  2. visual-studio

[解決済み] ビルド時にコード4でコマンドコピーが終了する-Visual Studioを再起動すると解決する

2022-04-27 19:58:01

質問

Visual Studio 2010 Premium版で、7つのプロジェクトを含むソリューションをビルドすると、時々、「Command copy exited with code 4」という恐ろしいエラーが発生することがあります。

これは、ビルド後のイベントが通らないことが原因です。

以下は、この問題を一時的に解決する方法です。

  • 時々 Visual Studioを再起動すると、ソリューションがビルドできるようになります。
  • 時々。 Visual Studioの再起動と、私が選んだファイルマネージャ(Q-Dir 4.37)の両方が解決してくれます。

ビルド後のイベントはこんな感じです。

xcopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)" /Y

command copy exited with code [insert value] エラーが発生した場合、通常は以下のような原因が考えられます。

  • 読み取り/書き込みパーミッション
  • 見つからないファイル
  • 間違ったディレクトリ

しかし - 明らかに私がソリューションを構築する時には、問題はありません。

参考までに、2週間前にReSharper 5.1.1をアンインストールして以来、Visual Studioはいくつかのエラーを出すようになりました(中でもデバッグができなくなるもの)。Visual Studioを再インストールしたところ、うまくいくようになったのですが、まだこの問題が残っています。ReSharperのものがどこかにあるのと関係があるのでしょうか?

同じ問題に遭遇し、解決された方はいらっしゃいますか?または、何か解決策があるのでしょうか?

解決方法は?

私は、これは必ずファイルロックの問題であることを発見しました。コード4は、Cannot Access File(ファイルにアクセスできない)です。私が見つけた1つの部分的な解決策は、xcopyの/Cオプションを使用することです(これはエラー時に継続します)。本当の解決策ではありませんが、私のビルドが失敗するのを防いでくれています。

もう一つの解決策は、32ビット版でのみ動作するのですが アンロッカー ツールを使って、コピーする前にファイルのウィンドウズ・ハンドルを解除します。

編集部:今気づきましたが、64bitでも使えますね。