Visual Studio 2013 und Update 2 (Intermittierend Build-Fehler)
Bei der Installation von SP2 begannen wir zu bemerken, die folgenden bei der Gebäude-Lösungen:
ERROR C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2348,5): Task host node exited prematurely. Diagnostic information may be found in files in the temporary files directory named MSBuild_*.failure.txt.
ERROR C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2366,7): The "GenerateResource" task's outputs could not be retrieved from the "FilesWritten" parameter. Object does not match target type.
Betrachtet und dann einer der MSBuild_*.failure.txt Dateien, die ich finden Sie unter:
UNHANDLED EXCEPTIONS FROM PROCESS 26072:
=====================
5/20/2014 4:18:22 PM
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.Collections.Generic.Dictionary`2.Initialize(Int32 capacity)
at System.Collections.Generic.Dictionary`2..ctor(Int32 capacity, IEqualityComparer`1 comparer)
at Microsoft.Build.BackEnd.NodePacketTranslator.NodePacketReadTranslator.TranslateDictionary(Dictionary`2& dictionary, IEqualityComparer`1 comparer)
at Microsoft.Build.BackEnd.TaskParameter.ReadITaskItem(INodePacketTranslator translator, ITaskItem& wrappedItem)
at Microsoft.Build.BackEnd.TaskParameter.TranslateITaskItemArray(INodePacketTranslator translator)
at Microsoft.Build.BackEnd.TaskParameter.Translate(INodePacketTranslator translator)
at Microsoft.Build.BackEnd.TaskParameter.FactoryForDeserialization(INodePacketTranslator translator)
at Microsoft.Build.BackEnd.NodePacketTranslator.NodePacketReadTranslator.Translate[T](T& value, NodePacketValueFactory`1 factory)
at Microsoft.Build.BackEnd.NodePacketTranslator.NodePacketReadTranslator.TranslateDictionary[T](Dictionary`2& dictionary, IEqualityComparer`1 comparer, NodePacketValueFactory`1 valueFactory)
at Microsoft.Build.BackEnd.TaskHostConfiguration.Translate(INodePacketTranslator translator)
at Microsoft.Build.BackEnd.TaskHostConfiguration.FactoryForDeserialization(INodePacketTranslator translator)
at Microsoft.Build.BackEnd.NodePacketFactory.PacketFactoryRecord.DeserializeAndRoutePacket(Int32 nodeId, INodePacketTranslator translator)
at Microsoft.Build.BackEnd.NodePacketFactory.DeserializeAndRoutePacket(Int32 nodeId, NodePacketType packetType, INodePacketTranslator translator)
at Microsoft.Build.CommandLine.OutOfProcTaskHostNode.DeserializeAndRoutePacket(Int32 nodeId, NodePacketType packetType, INodePacketTranslator translator)
at Microsoft.Build.BackEnd.NodeEndpointOutOfProcBase.PacketPumpProc()
===================
Es scheint zu passieren, auf das erste mal, dass wir eine Lösung schaffen und Stoppt dann passiert für eine Weile und kommt dann wieder und dann geht Weg für eine Weile. Irgendwelche Ideen auf, wie man dieses Problem beheben? Ich kann nicht out-of-memory, da bin ich NUR VS2013 & ein paar IE instancens auf einem 64bit-system mit 8GB RAM.
- Die Menge des physikalischen ram und die anderen apps, die Sie ausführen, sind irrelevant. Jeder Prozess hat seinen eigenen Speicher und nutzen den virtuellen Speicher, wenn nötig. msbuild ist ein 32-bit-Prozess, so kann die Adresse nur 4GB RAM, ein gutes Stück, die ist reserviert.
- Nur ein Hinweis: Microsoft nicht die service packs nicht mehr. Es ist "Update 2", nicht "Service Pack 2".
- Ich bin immer genau das gleiche. Zusätzlich habe ich auch angefangen, immer das gleiche intermittierende Fehler bei der Verwendung von VS2010 kompilieren Sie das gleiche Projekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich immer genau das gleiche Verhalten nach der Installation von VS 2013 Update 2, aber nicht beim kompilieren direkt in Visual Studio. Ich habe diese Fehler bei der Verwendung von
msbuild
in unserem separaten build-Skripte (eine Sammlung von Windows - "bat" - Dateien). Diese Skripte wurden mitZum Glück, der Pfad zu diesem Programm ist konfigurierbar für alle unsere scripts in einem einzigen Ort (mit einer Art "include" - Mechanismus). Ich tauschte es durch
und jetzt scheint alles in Ordnung zu sein. Die letzteren "MSBuild.exe" scheint eine neuere version, die installiert wurde als Teil des "Upgrade 2", der ehemaligen ist die version, die dazu gehören .NET framework 4.
Ich habe auch versucht, die amd64-version erwähnt von @J. J. Hashemi, aber es gab mir einige böse Warnungen über die Prozessor-Architektur, einen Rahmen DLLs nicht passend zu meiner Ziel-Architektur.
Ich dies Problem gelöst, indem Sie ersetzen C:\Program Files (x86)\MSBuild\12.0\Bin mit C:\Program Files (x86)\MSBuild\12.0\Bin\amd64