A veces mi compilación falla con este error.error MSB4166: nodo hijo salió prematuramente. Apagar
0>MSBUILD : error MSB4166: Child node "3" exited prematurely. Shutting down.
Parece ser completamente aleatorio y no he podido reproducirlo a voluntad. Estoy ejecutando VS2010 Win7 x64 MSBuild 4.0 pero este problema parece ser independiente de plataforma y sistema operativo. Estoy creando soluciones en paralelo (/ m switch + BuildInParallel = True) y no quiero deshabilitar esta función porque estoy compilando aplicaciones que contienen más de 800 proyectos. ¿Alguna idea de cómo solucionarlo?
EDIT: Cuando he instalado .NET 4.5 vista previa para desarrolladores, el registro de errores se ha mejorado en el MSBuild 4.5 y ahora la cadena de error es el siguiente:
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
puedo encontrar el archivo de registro de errores en la carpeta Temp. . Este es el contenido del archivo * 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()
Estoy teniendo los mismos problemas. También he visto excepciones de falta de memoria relacionadas con este error. Restringirlo a una compilación simultánea no ayuda; todavía se equivoca: [Vea la captura de pantalla aquí] (http://i.stack.imgur.com/FSyuG.png); el error ocurre precisamente cuando el consumo de memoria excede la memoria física disponible. Tuvo unos pocos pinceles con la muerte y luego alcanzó el máximo y murió, eliminando Outlook y Process Explorer con él, ofreciendo un depurador JIT que no se iniciará, y liberando MSBuild.exe para convertirse en un proceso zombie sentado en la memoria hasta que lo mate manualmente –
Lo extraño es que estoy usando MSBuild de 64 bits en una computadora portátil Win7 de 64 bits con 4 GB de RAM virtual "ilimitada" y física. El proceso de MSBuild utiliza aproximadamente 1 GB de RAM (pico de 1,5 GB). – Ludwo
Estoy usando MSBuild de 32 bits en un escritorio WinXP de 32 bits con 2 GB de RAM virtual similar y físicamente ilimitada. Lo extraño es que el bloqueo ocurre cuando la RAM física está completamente agotada. ¡Es como si no tuviera memoria virtual cero! –