Управление пакетами NuGet с помощью интерфейса командной строки NuGet

С помощью nuget.exe средства CLI можно управлять пакетами NuGet в проектах и решениях Visual Studio. В этой статье описываются наиболее распространенные команды интерфейса командной строки NuGet для управления пакетами NuGet. Все эти команды работают в Windows, и большинство из них работают на Mac и Linux с помощью Mono.

Интерфейс командной строки NuGet выполняется в платформа .NET Framework и проектах, отличных от пакета SDK, например проектов стилей, отличных от пакета SDK, предназначенных для библиотек .NET Standard. Команды Интерфейса командной строки NuGet могут использовать файл project packages.config , который содержит ссылки на пакеты. Для проектов, не относящихся к пакету SDK, которые используются PackageReference вместо packages.config для ссылок на пакеты, используйте вместо этого интерфейс командной строки dotnet.

Примечание.

Для большинства проектов, не относящихся к пакету SDK, использующих packages.config, рекомендуется перенести packages.config в PackageReference, а затем использовать dotnet CLI вместо интерфейса командной строки NuGet для управления пакетами. Однако нельзя перенести проекты C++ или ASP.NET.

Для большинства команд средство интерфейса командной строки NuGet использует текущий каталог, если в команде не указано другое расположение. Чтобы запустить команды Интерфейса командной строки NuGet, откройте командную строку и перейдите в каталог, содержащий файл проекта.

Полный список команд и их аргументов см. в справочнике по интерфейсу командной строки NuGet.

Необходимые компоненты

Скачайте интерфейс командной строки NuGet из nuget.org. Сохраните файл nuget.exe в подходящий каталог и убедитесь, что каталог находится в переменной среды PATH.

Примечание.

Вы также можете использовать средство winget для Windows или Homebrew для macOS.

Чтобы узнать версию интерфейса командной строки NuGet, откройте командную строку и запустите nuget helpили не прокрутите страницу вверх, используйте .nuget help | more В первой строке вывода справки будет указана версия.

Установка пакета

Команда установки Интерфейса командной строки NuGet загружает и устанавливает указанные пакеты NuGet.

Внимание

Команда install не изменяет файл проекта или файл packages.config . Команды install добавляют restore только пакеты на диск, но не добавляют зависимости в проекты. Чтобы добавить зависимости проекта, добавьте пакеты через пользовательский интерфейс Visual Studio диспетчер пакетов или консоль диспетчер пакетов, а затем запустите install илиrestore.

-OutputDirectory Используйте параметр установки пакетов в определенный каталог. Если вы не указываете выходной каталог, install использует текущий каталог.

nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>

Например, чтобы установить Newtonsoft.json пакет в подкаталог пакетов , используйте следующую команду:

nuget install Newtonsoft.Json -OutputDirectory packages

Вместо указания пакета для установки можно указать существующий файл packages.config в текущем или другом каталоге. Команда install устанавливает все пакеты, перечисленные в файле packages.config .

nuget install packages.config

Например, следующая команда устанавливает все пакеты, перечисленные в packages.config в подкаталоге конфигурации , в подкаталог пакетов :

nuget install config\packages.config -OutputDirectory packages

Установка определенной версии пакета

Команда install устанавливает последнюю версию пакета, если не указана другая версия. Чтобы установить определенную версию пакета, используйте -Version этот параметр:

nuget install <packageID | configFilePath> -Version <version>

Например, чтобы установить версию 12.0.1 пакета, используйте следующую Newtonsoft.json команду:

nuget install Newtonsoft.Json -Version 12.0.1

Вывод списка пакетов

Используйте команду списка, чтобы отобразить список пакетов, установленных в папках пакетов. -Source Используйте параметр, чтобы ограничить список.

nuget list -Source <source>

Например, чтобы перечислить пакеты в подкаталоге пакетов MyProject, используйте следующую команду:

nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages

Можно также использовать поисковый термин для поиска имен пакетов, тегов или описаний:

nuget list <"search term"> -Source <source>

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

Используйте команду обновления, чтобы обновить все пакеты в файле project packages.config до последних доступных версий. Лучше всего запустить restore перед запуском update.

nuget update

Удаление пакета

Чтобы удалить пакет, удалите этот пакет из папки проекта. Чтобы переустановить пакеты, используйте restore команды или install команды.

Удаление пакетов с диска не обновляет проект, файлы packages.config или NuGet.Config . Лучшим способом удаления пакетов является пользовательский интерфейс visual Studio диспетчер пакетов или консоль диспетчер пакетов.

Восстановление пакетов

Команда восстановления Интерфейса командной строки NuGet скачивает и устанавливает отсутствующие пакеты. Команда работает над проектами, которые используют PackageReference или packages.config для ссылок на пакеты.

Напримерinstall, restore команда добавляет только пакеты на диск, но не изменяет файл проекта или packages.config. Чтобы добавить зависимости проекта, используйте пользовательский интерфейс или консоль Visual Studio диспетчер пакетов.

Чтобы восстановить пакеты, выполните следующую команду:

nuget restore <projectPath>

Команда restore использует файл решения или файл package.config в указанном пути проекта.

Например, чтобы восстановить все пакеты для MySolution.sln в текущем каталоге, выполните следующую команду:

nuget restore MySolution.sln

Примечание.

Для проектов, не PackageReferenceиспользующих пакет SDK, используйте msbuild -t:restore для восстановления пакетов.

Дополнительные сведения см. в разделе "Восстановление пакетов".

Следующие шаги