Устанавливайте пакеты и управляйте ими непосредственно в Visual Studio с помощью диспетчера пакетов NuGet.

Пользовательский интерфейс NuGet диспетчер пакетов в Microsoft Visual Studio для Windows позволяет легко устанавливать, удалять и обновлять пакеты NuGet в проектах и решениях.

Статья доступна только для пользователей Windows. Если вы используете Visual Studio для Mac, см. статью "Включение пакета NuGet" в проекте.

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

  • Установите Visual Studio 2022 для Windows с любым. Рабочая нагрузка, связанная с NET.

    Вы можете установить выпуск Community 2022 бесплатно из visualstudio.microsoft.com или использовать выпуск Professional или Enterprise.

    Visual Studio 2017 и более поздних версий автоматически включает в себя NuGet диспетчер пакетов при использовании. Установлена рабочая нагрузка, связанная с NET. Чтобы установить его отдельно в Visual Studio Installer, перейдите на вкладку "Отдельные компоненты ", а затем выберите диспетчер пакетов NuGet в разделе "Средства кода".

    Если в Visual Studio 2015 отсутствует диспетчер пакетов NuGet, проверка расширения инструментов>и Обновления и выполните поиск расширения NuGet диспетчер пакетов. Если вы не можете использовать установщик расширений в Visual Studio, скачайте расширение отсюда: https://dist.nuget.org/index.html.

  • Зарегистрируйтесь для получения бесплатной учетной записи на nuget.org, если вы не сделали этого ранее. Перед отправкой пакета NuGet необходимо зарегистрировать и подтвердить ее.

Поиск и установка пакета

Чтобы найти и установить пакет NuGet в Visual Studio, выполните следующие действия.

  1. Загрузите проект в Обозреватель решений, а затем выберите "Управление пакетами NuGet project>".

    Откроется окно Диспетчер пакетов NuGet.

  2. Выберите вкладку "Обзор", чтобы отобразить пакеты по популярности из выбранного источника (см. статью "Источники пакетов"). Чтобы найти конкретный пакет, используйте поле поиска в левом верхнем углу. Выберите пакет из списка, чтобы отобразить ее сведения на правой панели, что позволяет выбрать версию для установки.

    Screenshot showing the NuGet Package Manager window with the Browse tab selected.

  3. В правой области выберите версию из раскрывающегося списка. Если вы хотите включить предварительные версии в список версий , выберите "Включить предварительную версию".

  4. Чтобы установить пакет NuGet, нажмите кнопку "Установить". Возможно, вам будет предложено принять условия лицензионного соглашения или попросить проверить установку.

    Visual Studio устанавливает пакет и его зависимости в проекте. После завершения установки добавленные пакеты отображаются на вкладке "Установленные". Пакеты также можно найти в узле пакетов зависимостей>проекта в Обозреватель решений. После установки пакета вы можете обратиться к нему в проекте с помощью инструкции using .

  5. (Необязательно) NuGet имеет два формата, в которых проект может использовать пакеты: PackageReference и packages.config. Чтобы задать формат по умолчанию, выберите "Параметры инструментов>", разверните узел NuGet диспетчер пакетов, выберите "Общие" и выберите формат управления пакетами по умолчанию. Дополнительные сведения см. в разделе "Выбор формата управления пакетами по умолчанию".

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

Чтобы удалить пакет NuGet, выполните следующие действия.

  1. Загрузите проект в Обозреватель решений, выберите "Управление пакетами NuGet">и перейдите на вкладку "Установленные".

  2. Выберите пакет для удаления в левой области (при необходимости используйте поле поиска , чтобы найти его, а затем выберите " Удалить " в правой области.

    Screenshot showing the NuGet Package Manager with a package selected and its Uninstall button highlighted.

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

Чтобы обновить пакет NuGet, выполните следующие действия.

  1. Загрузите проект в Обозреватель решений, а затем выберите "Управление пакетами NuGet project>". Для проектов веб-сайтов сначала выберите папку Bin .

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

  3. Выберите пакет для обновления. На правой панели выберите нужную версию из раскрывающегося списка, а затем нажмите кнопку "Обновить".

    Screenshot showing the NuGet Package Manager with a package selected and its Update button highlighted.

  4. Для некоторых пакетов кнопка "Обновить" отключена, и появится следующее сообщение: неявно ссылается на пакет SDK. Чтобы обновить пакет, обновите пакет SDK, к которому он принадлежит. Это сообщение указывает, что пакет является частью более крупной платформы или пакета SDK и не может быть обновлен независимо. Такие пакеты помечаются внутренним образом <IsImplicitlyDefined>True</IsImplicitlyDefined>. Например, Microsoft.NETCore.App является частью пакета SDK для .NET Core, а версия пакета отличается от версии платформы среды выполнения, используемой приложением. Чтобы скачать новую версию .NET Core, обновите установку .NET Core. Дополнительные сведения см. в разделе метапакетов и управления версиями .NET Core. Этот сценарий применяется к следующим часто используемым пакетам:

    • Microsoft.AspNetCore.All
    • Microsoft.AspNetCore.App
    • Microsoft.NETCore.App
    • NETStandard.Library

    Screenshot showing a NuGet package with the Update button disabled.

  5. Чтобы обновить несколько пакетов до последних версий, выберите их в списке пакетов NuGet и нажмите кнопку "Обновить".

  6. Вы также можете обновить отдельный пакет на вкладке "Установленные ". В этом случае можно также выбрать версию и параметр "Включить предварительную версию".

Управление пакетами для решения

Управление пакетами для решения — это удобное средство одновременной работы с несколькими проектами:

  1. Выберите решение в диспетчере решений и выберите инструменты>NuGet диспетчер пакетов> Manage NuGet Packages for Solution.

  2. В окне "Управление пакетами NuGet для решения" выберите проекты, затронутые операциями.

    Screenshot showing the Manage Packages for Solution window with multiple projects selected.

Вкладка "Консолидация"

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

Screenshot showing the Manage Packages for Solution window with the Consolidate tab selected.

В этом примере проект ClassLibrary1 использует EntityFramework 6.2.0, а ConsoleApp1 использует EntityFramework 6.1.0. Чтобы консолидировать версии пакетов:

  1. На вкладке "Консолидация " выберите проекты для обновления в списке проектов.

  2. Выберите версию, используемую для всех этих проектов в списке версий .

  3. Выберите Установить.

    Диспетчер пакетов NuGet устанавливает выбранную версию пакета во все выбранные проекты, после чего пакет больше не отображается на вкладке "Консолидация".

Источники пакетов

Visual Studio игнорирует порядок источников пакетов и использует пакет из любого источника для ответа на запрос. Дополнительные сведения см. в разделе "Восстановление пакетов". Сведения о загрузке пакета из определенного источника см. в разделе "Сопоставление источников пакетов".

Чтобы управлять источниками пакетов NuGet, выполните следующие действия.

  1. Чтобы изменить источник, из которого Visual Studio загружает метаданные пакета, выберите источник из селектора источника пакета.

    Screenshot showing the Package source selector highlighted.

  2. Чтобы управлять источниками пакетов, щелкните значок Параметры или выберите "Параметры инструментов>".

    Screenshot showing the Package source settings icon highlighted.

  3. В окне "Параметры" разверните узел NuGet диспетчер пакетов и выберите "Источники пакетов".

    Screenshot showing the Options window with Package Sources selected.

  4. Чтобы добавить источник, выберите +, измените имя, введите URL-адрес или путь в источнике, а затем нажмите кнопку "Обновить".

    Теперь источник отображается в раскрывающемся списке источника пакета.

  5. Чтобы изменить источник пакета, выберите его, внесите изменения в поля Имя и Источник и щелкните Обновить.

  6. Чтобы отключить источник пакета, снимите флажок слева от имени в списке.

  7. Чтобы удалить источник пакета, выберите его и нажмите кнопку X .

    Если источник пакета снова появится после удаления, он может быть указан в файле nuGet.config уровня компьютера или пользователя. Сведения о расположении этих файлов см. в разделе "Общие конфигурации NuGet". Удалите источник пакета в файлах, изменив их вручную или используя команду nuget sources.

Элемент управления "Параметры диспетчер пакетов NuGet"

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

Screenshot showing the NuGet Package manager Options control expanded.

В следующих разделах описаны доступные варианты.

Параметры установки и обновления

Эти параметры доступны только для определенных типов проектов:

  • Поведение зависимостей. Этот параметр настраивает, как NuGet решает, какие версии зависимых пакетов следует установить. Он имеет следующие параметры:

    • Игнорировать зависимости пропускает установку зависимостей , которая обычно нарушает установку пакета.
    • Наименьший [по умолчанию] — устанавливает зависимость с минимальным номером версии, соответствующим требованиям основного выбранного пакета.
    • Наибольший номер исправления — устанавливает версию с теми же основными и дополнительными номерами версий, но с самым большим номером исправления. Например, если указана версия 1.2.2, будет установлена самая высокая версия, которая начинается с 1.2.
    • Наибольший номер дополнительной версии — устанавливает версию с тем же основным номером версии, но с самым большим номером дополнительной версии и номером исправления. Если указана версия 1.2.2, будет установлена самая высокая версия, которая начинается с 1.
    • Наибольший — устанавливает самую высокую доступную версию пакета.
  • Действие конфликта файлов: этот параметр указывает, как NuGet должен обрабатывать пакеты, которые уже существуют в проекте или локальном компьютере. Он имеет следующие параметры:

    • По приглашению — NuGet спрашивает, следует ли сохранять или перезаписывать существующие пакеты.
    • Пропустить все — NuGet пропускает перезапись существующих пакетов.
    • Перезаписать все — NuGet перезаписывает существующие пакеты.

Параметры удаления

Эти параметры доступны только для определенных типов проектов:

  • Удаление зависимостей. При выборе удаляет все зависимые пакеты, если они не ссылаются в другом месте проекта.

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

См. также

Дополнительные сведения о NuGet см. в следующих статьях: