Поделиться через


Устанавливайте пакеты и управляйте ими непосредственно в 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. Выберите вкладку "Обзор", чтобы отобразить пакеты по популярности из выбранного источника (см. статью "Источники пакетов").

    • Чтобы найти конкретный пакет, используйте поле поиска в левом верхнем углу.
    • Сокращенные сведения могут отображаться рядом с каждым идентификатором пакета, чтобы помочь определить правильный пакет и отличаться в зависимости от выбранных источников пакетов. К примерам относятся гиперссылки на скачивание пакетов, автор или профиль владельца.

    Примечание.

    В Visual Studio 17.11 и более поздних версиях владельцы пакетов отображаются как гиперссылки профиля при поддержке выбранного источника пакета. Владение пакетом определяется источником пакета. Например, см. раздел "Управление владельцами пакетов" на nuget.org.

    В Visual Studio 17.10 и более ранних версиях отображаются метаданные автора пакета, которые отображаются как обычный текст. Дополнительные сведения см. в разделе "Авторы" в метаданных пакета.

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

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

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

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

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

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

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

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

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

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

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

  1. Загрузите проект в Обозреватель решений, а затем выберите "Управление пакетами NuGet project>". Для проектов веб-сайтов сначала выберите папку 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 диспетчер пакетов> Manage NuGet Packages for Solution.

  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 перезаписывает существующие пакеты.

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

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

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

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

См. также

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