Установка пакетов и управление ими в Visual Studio с помощью Package Manager NuGet

Пользовательский интерфейс NuGet Package Manager можно использовать в Microsoft Visual Studio для упрощения установки, удаления и обновления пакетов NuGet в проектах и решениях.

Необходимые условия

  • Visual Studio 2026 с любой рабочей нагрузкой, связанной с .NET. Вы можете установить выпуск Community 2026 бесплатно из visualstudio.microsoft.com или использовать выпуск Professional или Enterprise.

  • Менеджер пакетов NuGet. Visual Studio 2017 и более поздних версий автоматически включают Package Manager NuGet при установке рабочей нагрузки, связанной с .NET. Чтобы установить Package Manager NuGet вручную в установщике Visual Studio, выберите Individual components>Code tools>NuGet package manager.

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

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

  1. Загрузите проект в Solution Explorer и выберите Project>Управление пакетами NuGet.

    Откроется окно NuGet Package Manager.

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

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

    Заметка

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

    В Visual Studio 17.10 и более ранних версий отображается файл метаданных author />, который отображается как обычный текст. Дополнительные сведения см. в метаданных пакета авторов.

    • Выберите пакет, чтобы открыть область сведений. На вкладке сведений на вкладке "Сведения о пакете" отображаются метаданные пакета, сведения о владельцах, авторах и лицензиях, а также другие сведения. В области сведений также можно выбрать версию для установки.

      Скриншот диспетчера пакетов NuGet. На вкладке

      На вкладке README в области сведений отображается файл README пакета, если он предоставлен его автором.

      Скриншот диспетчера пакетов NuGet. На вкладке

  3. В области сведений рядом с версией выберите версию. Если вы хотите включить предварительные версии в список Version, перейдите в начало окна NuGet Package Manager. Рядом с полем поиска нажмите кнопку "Включить предварительную версию".

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

    Visual Studio устанавливает пакет и его зависимости в проекте. После завершения установки добавленные пакеты отображаются на вкладке NuGet Package Manager Installed. Пакеты также можно найти в Solution Explorer в узле Dependencies>Packages узла проекта. После установки пакета вы можете обратиться к нему в проекте с помощью инструкции using.

Установка формата управления пакетами

NuGet имеет два формата, в которых проект может использовать пакеты:

Только некоторые типы проектов поддерживают оба формата управления пакетами. В частности, проекты .NET Framework в стиле не-SDK, которые имеют файл .csproj, поддерживают оба формата. Для проектов в стиле пакета SDK .NET требуется PackageReference.

Рекомендуемый формат PackageReference. Но некоторые пакеты NuGet не полностью совместимы с PackageReference. Дополнительные сведения см. в разделе "Проблемы совместимости пакетов".

Дополнительные сведения о форматах управления пакетами см. в разделе Перенос с packages.config на PackageReference и Поддержка типов проектов.

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

  1. В Visual Studio выберите Tools>Options.
  2. На боковой панели выберите NuGet Package Manager и выберите General.
  3. В главном окне в разделе "Управление пакетами" выберите формат в списке форматов управления пакетами по умолчанию .

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

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

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

  1. Загрузите project в Solution Explorer выберите Project>Manage NuGet Packages и перейдите на вкладку Installed.

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

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

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

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

  1. Загрузите проект в Solution Explorer и выберите Project>Управление пакетами NuGet. Для устаревших проектов веб-сайта ASP.NET, которые управляют зависимостями через папку bin, перейдите в папку Solution Explorer и выберите папку перед открытием пользовательского интерфейса NuGet Package Manager.

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

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

    Скриншот диспетчера пакетов NuGet. На главной панели выбран пакет. В области сведений выделены версия и кнопка «Обновить».

Обновление неявного пакета, на который ссылается

Для некоторых пакетов кнопка "Обновить " недоступна, и появится следующее сообщение: "Неявно ссылается на пакет SDK. Чтобы обновить пакет, обновите пакет SDK, к которому он принадлежит".

Это сообщение указывает, что пакет является частью более крупной платформы или пакета SDK и не может быть обновлен независимо. Например, Microsoft.NETFramework.ReferenceAssemblies автоматически добавляется, когда проект SDK-стиля предназначен для платформы .NET Framework.

Снимок экрана области сведений о пакете в менеджере пакетов NuGet. Кнопка

Такие пакеты внутренне обозначены <IsImplicitlyDefined>True</IsImplicitlyDefined>. Эти пакеты имеют версию пакета SDK или среды выполнения и должны быть обновлены путем установки более нового пакета SDK .NET, а не с помощью NuGet Package Manager.

Чтобы скачать новую версию платформы, см. статью Download .NET. Дополнительные сведения см. в обзоре публикации приложений .NET.

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

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

Обновить из вкладки "Установленные"

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

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

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

  1. Выберите решение в Solution Manager, а затем выберите Tools>NuGet Package Manager>Manage NuGet Packages for Solution.

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

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

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

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

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

В этом примере проект MyClassLibrary использует 6.5.1, но MyConsoleApp использует EntityFrameworkEntityFramework 6.5.0. Чтобы объединить версии пакетов, выполните следующие действия.

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

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

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

    Package Manager NuGet устанавливает выбранную версию пакета во всех выбранных проектах, а пакет больше не отображается на вкладке Consolidate.

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

Visual Studio игнорирует порядок источников пакетов. Вместо этого он использует пакет из источника, который отвечает сначала на запрос. Дополнительные сведения см. в разделе пакеты восстановления. Сведения о том, как загрузить пакет из конкретного источника, см. в разделе «Сопоставление источников пакетов».

  1. Чтобы изменить источник, из которого Visual Studio загружает метаданные пакета, перейдите в начало окна NuGet Package Manager или Manage Packages for Solution. Рядом с источником пакета выберите источник, который требуется использовать.

    Снимок экрана: правый верхний угол окна

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

    Снимок экрана: правый верхний угол окна

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

Элемент управления "Параметры NuGet Package Manager"

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

Скриншот элемента управления

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

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

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

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

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

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

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

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

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

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

  • Видео об использовании NuGet для управления пакетами см. на Channel 9 и YouTube.

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