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


Установка пакетов и управление ими в 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. Загрузите проект в обозревателя решений, а затем выберите Project>Manage NuGet Packages.

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

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

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

    Заметка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    снимок экрана: пакет 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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