2017年9月15日金曜日

「obj\Release\xxxxx.pdb を "..\bin\Release\xxxxx.pdb" にコピーできませんでした。10 回の再試行回数を超えたため、失敗しました。」エラー

こんばんは。ざわです。

Visual Studio(いま使っているのは2013)で開発していると
たまに、ビルドした際に
「obj\Release\xxxxx.pdb を "..\bin\Release\xxxxx.pdb" にコピーできませんでした。10 回の再試行回数を超えたため、失敗しました。」
「ファイル "obj\Release\xxxxx.pdb" を "..\bin\Release\xxxxx.pdb" にコピーできません。別のプロセスで使用されているため、プロセスはファイル '..\bin\Release\xxxxx.pdb' にアクセスできません。」
というエラーがでることがあります。

一旦このエラーがでるとソリューションのクリーン→ビルドを行っても解決しません。。。
なので、ソリューションを再起動することでやりすごしています。

なんでこのエラーがでるんだろ?と思ったので
原因、対処策をしらべてみました。

[原因]
  devenv.exe(すなわちVisual Studioそのもの)が対象のファイルをロックしているらしい??

[対処策]
  [ビルド前に実行するコマンド ライン](プロジェクト > プロパティ > ビルドイベント)に
  下記コードを追加する。

  if exist "$(TargetPath).locked" del "$(TargetPath).locked"
  if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"

いまのところ、このエラーは頻発していないので試していませんが
せっかく調べたので備忘録的に残しておきたいと思います。

ではでは。

0 件のコメント:

コメントを投稿