观察:
在我们的Jenkins构建服务器上,我们看到很多msbuild.exe进程(~100)在作业完成后闲置,内存使用量约为20mb,CPU活动率为0%。
使用不同版本的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通过Jenkins Matrix作业以下列方式启动,启用了“BuildInParallel”:
`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`
答案 0 :(得分:69)
在批次进行挖掘并尝试各种不起作用之后,我最终创建了一个新的最小解决方案,该问题在很少发生的情况下重现了这个问题。问题原因是由msbuild的多核并行化 - 'm'参数引起的。
以下帖子很有帮助:
修复:
set MSBUILDDISABLENODEREUSE=1
添加到启动msbuild的批处理文件/m:4 /nr:false
答案 1 :(得分:1)
我有同样的问题。我发现的一个旧参考是在csproj文件中
<PropertyGroup>
<StyleCopMSBuildTargetsFile>..\packages\StyleCop.MSBuild.4.7.48.0\tools\StyleCop.targets</StyleCopMSBuildTargetsFile>
另外,在关闭visual studio后,我删除了与sln文件位于同一文件夹中的整个“Packages”文件夹。它触发VS重建文件夹并放开旧版stylecop
的缓存答案 2 :(得分:0)
一段时间以来,我遇到了同样的问题,经过一些挖掘,构建过程花费了6分钟以上的时间,我发现这是节点重用错误,因此添加了/ m:4 / nr:false立即修复了问题