间歇性构建中断,出现MSB4166错误: 子节点“#”异常退出。VS 15.9

3
我们发现自动构建系统出现间歇性中断。错误出现在MSBuild子节点上,没有任何日志或错误信息可用。该错误可能随机发生在任何节点上,并且在构建过程中的不同阶段可能发生。我尝试通过命令行运行构建过程,但无法重现该问题。
 0>MSBUILD : error MSB4166: Child node "8" exited prematurely. Shutting down.
Diagnostic information may be found in files in "C:\Users\<user>\AppData\Local\Temp\"
and will be named MSBuild_*.failure.txt. This location can be changed by setting
the MSBUILDDEBUGPATH environment variable to a different directory.  

预期的日志文件MSBuild_*.failure.txt不存在,控制台输出中没有任何信息表明导致失败的原因。我们使用的是“Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework”和Jenkins 2.151.3。

如果在 Jenkins 执行命令时在 msbuild 命令中添加 /nodeReuse:false,结果是什么?请参考此问题,检查禁用复用功能是否有所帮助。期待您的反馈。 - undefined
有更新吗?如果你使用这样的命令:msbuild.exe xxx\ConsoleApp44.csproj /nodeReuse:false,会有什么结果? - undefined
在msbuild命令行中添加了/nodeReuse:false,问题似乎已经解决了。感谢您的帮助。 - undefined
嗨Scott,如果我的回复对你的问题有帮助,请标记为答案。这对其他社区成员更容易搜索解决方案是有益的。谢谢! - undefined
1个回答

8

这个问题似乎总是在CI服务器中出现,而在本地机器上通过msbuild可以正常工作。

不确定原因是什么,但是将/nodeReuse:false添加到msbuild命令中可以帮助解决此问题。

你可以查看[类似的问题]。(error MSB4166: Child node exited prematurely. Shutting down)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接