Управление пакетами 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 для восстановления пакетов.
Дополнительные сведения см. в разделе "Восстановление пакетов".