有时我的构建会因此错误而失败.
0>MSBUILD : error MSB4166: Child node "3" exited prematurely. Shutting down.
Run Code Online (Sandbox Code Playgroud)
它似乎是完全随机的,我无法随意重现它.我正在运行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
Run Code Online (Sandbox Code Playgroud)
我可以在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()
Run Code Online (Sandbox Code Playgroud)