Иногда моя сборка завершается с ошибкой.
0>MSBUILD : error MSB4166: Child node "3" exited prematurely. Shutting down.
Это кажется совершенно случайным, и я не смог воспроизвести его по желанию. Я использую VS2010 Win7 x64 MSBuild 4.0, но эта проблема, похоже, не зависит от платформы и ОС. Я создаю решения параллельно (переключатель / m + 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()