gpt4 book ai didi

multithreading - 错误 MSB4166 : Child node exited prematurely. 关闭

转载 作者:行者123 更新时间:2023-12-01 18:05:18 27 4
gpt4 key购买 nike

有时我的构建会因此错误而失败。

 0>MSBUILD : error MSB4166: Child node "3" exited prematurely. Shutting down.

它似乎是完全随机的,我无法随意重现它。我正在运行 VS2010 Win7 x64 MSBuild 4.0,但这个问题似乎与平台和操作系统无关。我正在并行构建解决方案(/m switch + BuildInParallel=True),并且我不想禁用此功能,因为我正在编译包含 800 多个项目的应用程序。知道如何解决吗?

编辑:当我安装 .NET 4.5 开发人员预览版时,MSBuild 4.5 中的错误日志记录得到了改进,现在错误字符串如下所示:

error MSB4166: Child node "3" exited prematurely. Shutting down. Diagnostic information may be found in files in the temporary files directory named MSBuild_*.failure.txt

我可以在 Temp 文件夹中找到错误日志文件。这是 MSBuild_*.failure.txt 文件的内容:

System.InvalidOperationException: BuildEventArgs has formatted message while serializing!
at Microsoft.Build.Framework.LazyFormattedBuildEventArgs.WriteToStream(BinaryWriter writer)
at Microsoft.Build.Framework.BuildMessageEventArgs.WriteToStream(BinaryWriter writer)
at Microsoft.Build.Shared.LogMessagePacketBase.WriteToStream(INodePacketTranslator translator)
at Microsoft.Build.BackEnd.NodeEndpointOutOfProcBase.PacketPumpProc()

最佳答案

经过大量时间和研究尝试解决这个问题,我找到了一个适合我的解决方案。我将 msbuild 与/m 和/p:BuildInParallel=true 一起使用,并且构建在 CI 服务器中失败。第二个组件总是失败并出现以下错误:

错误 MSB4166:子节点“3”过早退出。正在关闭。

添加/nodeReuse:false 解决了问题。

这是一个很好的引用: https://blogs.msdn.microsoft.com/msbuild/2007/04/16/node-reuse-in-multiproc-msbuild/

关于multithreading - 错误 MSB4166 : Child node exited prematurely. 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7916687/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com