Переустановка пакетов NuGet с установленным NuGet в качестве расширения VS - PullRequest
32 голосов
/ 04 июля 2011

Я бы хотел иметь возможность установить все пакеты NuGet в packages.config согласно Документация NuGet . NuGet установлен как расширение VS, и я не могу найти nuget.exe. Можно ли запустить:

nuget i packages.config -o Пакеты

Без поддержки отдельной копии nuget.exe для каждого проекта?

Ответы [ 5 ]

71 голосов
/ 05 декабря 2013

Переустановите все пакеты во всех проектах текущего решения:

Update-Package -Reinstall

Более подробную информацию о переустановке пакетов nuget можно найти здесь здесь

21 голосов
/ 13 апреля 2014

Предупреждение - использование

Update-Package -Reinstall

или

Update-Package -Reinstall -IgnoreDependencies

может удалить все ваши пакеты и файлы package.config!

Всегда проверяйте, чтобы ваши резервные копии выполнялись первыми.

Сценарий :

  • Решение с несколькими проектами
  • Каждый содержит свои собственные записи Nuget, некоторые с одинаковыми пакетами (например, SharpRepository, Entity Framework)
  • Теперь скопируйте папку без папки пакетов для «распространения» где-то еще
  • Предположим, что папка пакетов былане входит в дистрибутив
  • Теперь попробуйте команду Update-Package -Reinstall или если у вас есть какие-то альфа-пакеты и / или вы уверены, что ваши зависимости хороши, попробуйте Update-Package -Reinstall -IgnoreDependencies

Результат :
Поскольку папка пакетов не существует, записи для ваших пакетов тоже методично исчезают.Это может удивить некоторых людей - так что будьте осторожны, это все, что я говорю.

16 голосов
/ 24 марта 2012

В качестве обновления к этому сообщению, NuGet 1.6 добавила поддержку рабочего процесса для восстановления пакетов во время сборки, если они отсутствуют.Щелкните правой кнопкой мыши решение, выберите «Включить режим восстановления пакета», чтобы установить его.

Подробнее: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

3 голосов
/ 04 июля 2011

Нашли решение на Эта запись в блоге .Мне нужно было установить NuGet.CommandLine , что делает nuget.exe.глобально доступно в командной строке VS.Затем я могу настроить это как событие перед сборкой, чтобы гарантировать загрузку зависимостей.

1 голос
/ 07 июля 2017

Гораздо более простой вариант, который вы можете оставить включенным в Visual Studio во время разработки, чтобы избавить вас от проблем, связанных с установкой пакета NuGet.

Держите оба нижеупомянутых параметра в NuGet Package Manager> General в отмеченном состоянии -

  1. Разрешить NuGet загружать отсутствующие пакеты
  2. Автоматически проверять отсутствующие пакеты во время сборки в Visual Studio

Посмотрите на скриншот ниже:

enter image description here

...