Рабочий процесс потребления пакетов

Между nuget.org и частными галереями пакетов, которые ваша организация может создать, можно найти десятки тысяч чрезвычайно полезных пакетов для использования в ваших приложениях и службах. Но независимо от источника, использование пакета следует одному и тому же общему рабочему процессу.

Процесс перехода к источнику пакета, поиска пакета, его инсталляции в проект, а затем добавления инструкции using и вызовов API пакета

* dotnet.exe и только Visual Studio. Команда nuget install не изменяет файлы проекта или файл packages.config; управление записями производится вручную.

Дополнительные сведения см. в разделе "Поиск и выбор пакетов" и"Что происходит при установке пакета?".

NuGet запоминает идентификатор и номер версии каждого установленного пакета, записывая его в файл проекта (с помощью PackageReference) или packages.configв зависимости от типа проекта и версии NuGet. При использовании NuGet 4.0 и более поздних версий рекомендуется использовать PackageReference, хотя это можно настроить в Visual Studio с помощью пользовательского интерфейса диспетчера пакетов. В любом случае вы можете просмотреть соответствующий файл в любое время, чтобы просмотреть полный список зависимостей для проекта.

Подсказка

Рекомендуется всегда проверять лицензию на каждый пакет, который вы планируете использовать в вашем программном обеспечении. На nuget.org вы найдете ссылку "Сведения о лицензии " в правой части страницы описания каждого пакета. Если пакет не указывает условия лицензии, обратитесь к владельцу пакета непосредственно с помощью ссылки "Владельцы контактов " на странице пакета. Корпорация Майкрософт не имеет лицензии на интеллектуальную собственность от сторонних поставщиков пакетов и не несет ответственности за информацию, предоставляемую сторонними сторонами.

При установке пакетов NuGet обычно проверяет, доступен ли пакет из кэша. Вы можете вручную очистить этот кэш из командной строки, как описано в разделе "Управление глобальными пакетами и папками кэша".

NuGet также гарантирует, что целевые платформы, поддерживаемые пакетом, совместимы с вашим проектом. Если пакет не содержит совместимых сборок, NuGet отобразит ошибку. См. сведения об устранении несовместимых ошибок пакета.

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

Поток восстановления пакетов NuGet путем клонирования репозитория и использования любой команды восстановления

Восстановление пакета использует сведения в файле проекта или packages.config, чтобы переустановить все зависимости. Обратите внимание, что в процессе существуют различия, как описано в разделе "Разрешение зависимостей". Кроме того, на приведенной выше схеме не отображается команда восстановления для Консоли диспетчера пакетов, потому что если вы используете консоль, то уже находитесь в среде Visual Studio, которая обычно восстанавливает пакеты автоматически и предоставляет команду уровня решения, как показано.

Иногда необходимо переустановить пакеты, которые уже включены в проект, что также может переустановить зависимости. Это легко сделать с помощью nuget reinstall команды или консоли диспетчера пакетов NuGet. Дополнительные сведения см. в разделе "Переустановка и обновление пакетов".

Наконец, поведение NuGet определяется файлами NuGet.Config . Несколько файлов можно использовать для централизации определенных параметров на разных уровнях, как описано в разделе "Настройка поведения NuGet".

Способы установки пакета NuGet

Пакеты NuGet загружаются и устанавливаются с помощью любого из методов в следующей таблице.

Tool Platforms Description
dotnet CLI All Средство CLI для библиотек .NET Core и .NET Standard, а также для проектов в стиле SDK, предназначенных для .NET Framework (см. атрибут ПАКЕТА SDK). Извлекает пакет, идентифицированный с помощью <package_name>, и добавляет ссылку на файл проекта. Также извлекает и устанавливает зависимости.
Visual Studio Windows и Mac Предоставляет пользовательский интерфейс, с помощью которого можно просматривать, выбирать и устанавливать пакеты и их зависимости в проект из указанного источника пакетов. Добавляет ссылки на установленные пакеты в файл проекта.
Консоль диспетчера пакетов (Visual Studio) Только для Windows Извлекает и загружает пакет с именем <package_name> из выбранного источника в указанный проект, а затем добавляет ссылку в файле проекта. Также извлекает и устанавливает зависимости.
CLI nuget.exe All Средство CLI для библиотек .NET Framework и проектов, не относящихся к пакету SDK, предназначенных для библиотек .NET Standard. Извлекает пакет с идентификатором <package_name> и распаковывает его содержимое в папку в текущем каталоге; также может извлечь все пакеты, перечисленные в packages.config файле. Также извлекает и устанавливает зависимости, но не вносит изменений в файлы проекта или packages.config.