観察:
Jenkinsビルドサーバーでは、ジョブの完了後に多くのmsbuild.exeプロセス(〜100)が約20 MBのメモリ使用量と0%のCPUアクティビティでぶらぶらしていました。
Stylecopの異なるバージョンを使用したビルドは断続的に失敗しました:
workspace\packages\StyleCop.MSBuild.4.7.41.0\tools\StyleCop.targets(109,7): error MSB4131: The "ViolationCount" parameter is not supported by the "StyleCopTask" task. Verify the parameter exists on the task, and it is a gettable public instance property.
Nuget.exeは断続的に次のアクセス違反エラー(0x0000005)で終了しました:
.\workspace\.nuget\nuget install .\workspace\packages.config -o .\workspace\packages" exited with code -1073741819.
MsBuildは、「BuildInParallel」を有効にして、Jenkins Matrixジョブを介して次の方法で起動されました。
`msbuild /t:%Targets% /m
/p:Client=%Client%;LOCAL_BUILD=%LOCAL_BUILD%;BUILD_NUMBER=%BUILD_NUMBER%;
JOB_NAME=%JOB_NAME%;Env=%Env%;Configuration=%Configuration%;Platform=%Platform%;
Clean=%Clean%; %~dp0\_Jenkins\Build.proj`
lotを掘り下げてさまざまなことを効果的に試みた後、私は最終的に問題を再現する新しい最小限のソリューションを作成しました。オン。この問題は、msbuildのマルチコア並列化(「m」パラメーター)が原因であることが判明しました。
次の投稿は役に立ちました。
修正:
set MSBUILDDISABLENODEREUSE=1
行を追加します/m:4 /nr:false
でmsbuildを起動します同じ問題がありました。私が見つけた1つの古い参照はcsprojファイルにありました
<PropertyGroup>
<StyleCopMSBuildTargetsFile>..\packages\StyleCop.MSBuild.4.7.48.0\tools\StyleCop.targets</StyleCopMSBuildTargetsFile>
また、Visual Studioを閉じた後、slnファイルと同じフォルダーにある「Packages」フォルダー全体を削除しました。 VSをトリガーしてフォルダーを再構築し、stylecopの古いバージョンのキャッシュを解放しました
私はしばらくの間同じ問題を抱えていましたが、いくつかの掘削後にビルドが完了するまでに6分以上かかっていましたノードの再利用障害が見つかりました