【问题标题】:Intermittent build break with MSB4166: Child node "#" exited prematurely. VS 15.9MSB4166 间歇性构建中断:子节点“#”过早退出。 VS 15.9
【发布时间】:2019-03-08 20:23:30
【问题描述】:

我们的自动化构建系统出现了间歇性中断。该错误与 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 会有什么结果。查看this issue,检查禁用重用功能是否有帮助。预计会有反馈。
  • 有什么更新吗?如果你使用这样的命令会产生什么结果:msbuild.exe xxx\ConsoleApp44.csproj /nodeReuse:false
  • 添加 /nodeReuse:false 到 msbuild 命令行,它似乎已经解决了这个问题。感谢您的帮助。
  • 嗨,斯科特,如果我的回复对您的问题有帮助,请您将其标记为答案。这可能有利于其他社区成员更容易搜索解决方案。谢谢!

标签: jenkins msbuild visual-studio-2017


【解决方案1】:

这个问题似乎总是出现在 CI 服务器中,而在 msbuild 的本地机器。

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

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

【讨论】:

    猜你喜欢
    • 2011-12-16
    • 2020-11-27
    • 2014-11-19
    • 2016-04-26
    • 2014-11-17
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 2015-01-24
    相关资源
    最近更新 更多