Обновление пакетов nuget во всех проектах в решении

У меня есть решение .net(скажем, A) с несколькими проектами (скажем, B, C, D). Я хочу обновить все пакеты nuget для всех проектов в решении. Я знаю, что я могу обновлять пакеты nuget с помощью командной строки, но передавая путь к packages.config

nuget update A/B/packages.config

Есть ли способ обновлять пакеты для всех пакетов .configs внутри папки A, используя командную строку, не указывая отдельно? (Я знаю, что это можно сделать изнутри визуальной студии.) Что-то вроде

nuget update A/*/packages.config

Ответы

Ответ 1

Как указано в Документация NuGet, вы можете ввести:

Update-Package

Это будет:

Обновить все пакеты во всех проектах текущего решения последние версии.

Чтобы открыть консоль диспетчера пакетов:

Инструменты > Диспетчер пакетов NuGet > Консоль диспетчера пакетов

Теперь, чтобы иметь только один экземпляр всех пакетов, у меня есть в папке моего решения файл с именем nuget.config, который содержит:

<configuration>
  <config>
    <add key="repositoryPath" value="..\Path\To\My\Packages" />
  </config>
</configuration>

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

Ответ 2

Вы использовали примеры командной строки, но ваш вопрос не указывает, требуется ли вам ответ командной строки. Если вам не нужна командная строка, вы можете щелкнуть правой кнопкой мыши свое решение в обозревателе решений и выбрать "Управление пакетами NuGet для решения" ... Это отображает диалоговое окно, в котором вы можете сделать свой выбор. Кроме этого, вам все равно нужно написать script в этот момент времени (насколько мне известно).

Ответ 3

Сначала вам нужно восстановить все пакеты с помощью nuget restore solution_file.sln, а затем обновить их до последней версии, выполнив nuget update solution_file.sln.

Подробнее о командной строке nuget