Устанавливайте пакеты и управляйте ими непосредственно в 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. Загрузите проект в Обозреватель решений и выберите "Управление пакетами NuGetproject>".

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

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

    Снимок экрана: окно диспетчера пакетов NuGet с выбранной вкладкой

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

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

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

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

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

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

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

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

    Снимок экрана: диспетчер пакетов NuGet с выбранным пакетом и выделенной кнопкой

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

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

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

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

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

    Снимок экрана: диспетчер пакетов NuGet с выбранным пакетом и выделенной кнопкой

  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

    Снимок экрана: пакет NuGet с отключенной кнопкой

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

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

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

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

  1. Выберите решение в диспетчере решений и выберите "Сервис>" диспетчер>пакетов NuGet для управления пакетами NuGet для решения.

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

    Снимок экрана: окно

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

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

Снимок экрана: окно

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

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

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

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

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

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

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

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

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

    Снимок экрана: выделенный селектор источника пакета.

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

    Снимок экрана: выделенный значок параметров источника пакета.

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

    Снимок экрана: окно

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

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

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

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

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

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

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

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

Снимок экрана: развернутый элемент управления

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

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

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

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

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

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

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

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

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

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

См. также раздел

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