Восстановление пакета NuGet с кодом -1
я получаю следующую ошибку в окне вывода:
D:{solutionPath}.nugetnuget.targets(76,9): error :
D:{solutionPath}.nugetnuget.targets(76,9): error : Unhandled Exception: OutOfMemoryException.
D:{solutionPath}.nugetnuget.targets(76,9): error MSB3073: The command ""D:{solutionPath}.nugetnuget.exe" install "D:{pathToConfigLocation}packages.config" -source "" -o "D:{solutionPath}packages"" exited with code -1.
вышеуказанное с NuGet.цели, как это происходит.
D:{solutionPath}.nugetnuget.targets(76,9): error :
D:{solutionPath}.nugetnuget.targets(76,9): error : Unhandled Exception: OutOfMemoryException.
D:{solutionPath}.nugetnuget.targets(76,9): error MSB3073: The command ""D:{solutionPath}.nugetnuget.exe" install "D:{pathToConfigLocation}packages.config" -source "{localPackageDir}" -o "D:{solutionPath}packages"" exited with code -1.
С моим источником пакета в NuGet.цели
когда сборка происходит, она создает столько nuget.exe-процессы, как это требуется для него, чтобы использовать всю память, а затем он терпит неудачу и имеет другой идти на него.
я взял команду и запустил ее через cmd.
"D:{longPah}.nugetnuget.exe" install "D:{longPah}packages.config" -source "{longPah}NuGetPackages" -o "D:{longPah}packages"
это дает мне следующую ошибка:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembl
y 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or
one of its dependencies. Exception from HRESULT: 0x800705AF
at Bootstrapper.Program.Main(String[] args)
у меня есть .net 4 на машине.
пожалуйста, помогите, если можно.
спасибо, Дэвид!--6-->
редактировать
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Company.Common.Library" version="0.1.2" targetFramework="net35" />
</packages>
пакеты.config, как просила.
редактировать
Я попытался запустить команду через командную строку Visual studio (работает как администратор), и она выдает следующее исключение:
Необработанное Исключение: OutOfMemoryException.
изменить - ВОЗМОЖНОЕ ИСПРАВЛЕНИЕ
Я думаю, что нашел проблему... кажется, это связано с nuget.exe, который находится внутри .папку из NuGet.
у меня есть несколько решений и нашел пару, которые работают, waisted нагрузок времени, глядя на файловые пермы (было сообщено, что это проблема), то думал проверить nuget.свойства exe в каждом из решений.
в решениях, которые работали, я нашел:
в решениях, которые я бы не найдено:
как вы можете видеть, размер файла двух резко отличается. Все проекты были добавлены разными людьми в команде, может ли это быть проблемой с версией nuget, установленной на машинах разработчика?
если да, то кто-нибудь знает, какая версия nuget вызывает вышеуказанную проблему, когда вы выбираете, чтобы включить восстановление пакета для решения? У меня есть последняя версия NuGet, установленная на моей машине btw.
1 ответов
оба они вызовут ошибку. Меньший файл - это просто оболочка, которая передает команды в реальную версию, загружаемую в %LOCALAPPDATA%\NuGet. Он проверяет наличие новых версий раз в 10 дней.
взгляните на этот вопрос:http://nuget.codeplex.com/workitem/2390 (восстановление пакета nuget предполагает доступ в интернет) - может быть, что оболочка 18K пытается загрузить полный nuget.exe в папку %LOCALAPPDATA%\NuGet и не может для некоторых причина.
когда NuGet 2.0 был выпущен, он пришел с согласием на восстановление пакета. Взгляните на http://blog.nuget.org/20120619/nuget-2.0-released.html и http://blog.nuget.org/20120518/package-restore-and-consent.html, который детализирует что нужно сделать для того чтобы получить его работать.
в качестве альтернативы вы можете навсегда принять все согласие с помощью пакета NugetEnablePackageRestore - http://nuget.org/packages/NuGetEnablePackageRestore - Обратите внимание, что это исправление исправит его для всех будущих пользователей, включая серверы сборки.