Подтвердить что ты не робот

Visual Studio 2013 и обновление 2 (ошибки прерывистой сборки)

Когда мы установили SP2, мы начали замечать следующее при создании решений:

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 outputs could not be retrieved from the "FilesWritten" parameter. Object does not match target type.

И затем, глядя на один из файлов MSI_uild_x.dxt, я вижу:

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()
===================

Кажется, что в первый раз мы строим решение, а затем останавливаемся на некоторое время, а затем возвращаемся, а затем уходим на некоторое время. Есть какие нибудь идеи как это починить? Я не могу быть вне памяти, поскольку я ТОЛЬКО запускаю VS2013 и пару IE instancens на 64-битной системе с 8 ГБ оперативной памяти.

4b9b3361

Ответ 1

Я получал точно такое же поведение после установки VS 2013 Update 2, но не при компиляции непосредственно из Visual Studio. Я получил эти ошибки при использовании msbuild в наших отдельных сценариях сборки (коллекция файлов Windows "bat" ). Эти скрипты использовали

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

К счастью, путь к этой программе настраивается для всех наших скриптов в одном месте (используя какой-то механизм включения). Я обменял его на

C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe

и теперь все кажется прекрасным. Последний "MSBuild.exe" представляется более новой версией, которая была установлена ​​как часть "Upgrade 2", первая версия, принадлежащая платформе .NET 4.

Я также попробовал версию amd64, упомянутую @J.J.Hashemi, но она дала мне некоторые неприятные предупреждения о архитектуре процессора некоторых DLL-систем, не соответствующих моей целевой архитектуре.

Ответ 2

Я решил это, заменив C:\Program Files (x86)\MSBuild\12.0\Bin на C:\Program Files (x86)\MSBuild\12.0\Bin\amd64