A volte la mia build fallisce con questo errore.errore MSB4166: il nodo figlio è uscito prematuramente. Spegnimento
0>MSBUILD : error MSB4166: Child node "3" exited prematurely. Shutting down.
Sembra essere completamente casuale e non sono stato in grado di riprodurlo a piacere. Sono in esecuzione VS2010 Win7 x64 MSBuild 4.0 ma questo problema sembra essere indipendente dalla piattaforma e dal sistema operativo. Sto creando soluzioni in parallelo (switch/m + BuildInParallel = True) e non voglio disabilitare questa funzione perché sto compilando un'applicazione contenente oltre 800 progetti. Qualche idea su come risolverlo?
EDIT: Quando ho installato .NET 4.5 Developer Preview, registrazione degli errori è stata migliorata nel MSBuild 4.5 e ora la stringa di errore simile al seguente:
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
posso trovare l'errore file di registro nella cartella Temp. . Questo è il contenuto di MSBuild _ file * 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()
Ho gli stessi problemi. Ho anche visto eccezioni out-of-memory relative a questo errore. Limitare a una build simultanea non aiuta; ancora errori fuori: [Vedi lo screenshot qui] (http://i.stack.imgur.com/FSyuG.png); l'errore si verifica esattamente quando il consumo di memoria supera la memoria fisica disponibile. Ha avuto alcuni stretti colpi con la morte e poi ha raggiunto il massimo e morì, eliminando Outlook e Process Explorer con esso, offrendo un debugger JIT che non si avviava e rilasciando MSBuild.exe per diventare un processo di zombie seduto sulla memoria fino a quando non lo uccido manualmente. –
La cosa strana è che sto usando 64bit MSBuild su un laptop Win7 a 64 bit con 4 GB di RAM virtuale "illimitata" fisica. Il processo MSBuild utilizza circa 1 GB di RAM (picco di 1,5 GB). – Ludwo
Utilizzo MSBuild a 32 bit su un desktop WinXP a 32 bit con 2 GB di RAM virtuale fisica e analogamente illimitata. La cosa strana è che l'arresto anomalo si verifica quando la RAM fisica è completamente esaurita. È come se avessi zero memoria virtuale! –