私はmsbuild(.NET 4)を呼び出すTeamCityを使用しています。ビルドが完了した後(ビルドが成功したかどうかは関係ないようです)、msbuild.exeが開いたままで、ファイルの1つをロックするという奇妙な問題があります。これは、TeamCityが試行するたびに作業ディレクトリをクリアしようとすると失敗し、続行できません。
これはほぼ毎回発生します。
私はこれに本当に夢中になっているので、私はできるだけ多くの詳細を提供するよう努めます。
- サーバーはIntel Core i7、2 GB RAM、Windows Server 2008標準64ビットSP2です。
- TeamCityでは、msbuildランナーは
/m
コマンドラインパラメーターで構成されます(複数のコアを使用することを意味します) - 問題のファイルは、.NETプロジェクトの1つで参照されている外部DLL と常に同じ
External Tools\Telerik\Telerik.Reporting.Dll
です。(External Tools
この問題を引き起こさない同様のパス構造のディレクトリに含まれる他のいくつかの.DLLファイルがあります)。現在、違いがある場合に備えて、Telerikレポートの試用版を使用しています。 - 問題が発生すると、
msbuild.exe *32
タスクマネージャーに常にいくつかのプロセスが一覧表示されます。それらはすべて20-50MBのRAMと0.0%のCPUを使用しています。 - 1〜3分待つと、msbuild.exeプロセスは自動的に終了し、TeamCityは作業ディレクトリを適切に更新できます。
- msbuildプロセスを手動で終了した場合、TeamCityの更新はすぐに再び機能します。
- Windowsではインデックスサービスが無効になっています(ただし、前の2つの点で、msbuild.exeが問題の原因であることはほぼ確認されています)。
- Telerik.reporting.dllには特別なプロパティはありません。唯一のSVNプロパティは
svn:mime-type = application/octet-stream
誰かがこれに遭遇したことがありますか?
/m /nr:false
、を使って試しています。いくつかのビルドを実行して、それがどのようになるかを確認します。おかげで