Установка пакетов NuGet и управление ими в Visual Studio для Mac

С помощью пользовательского интерфейса диспетчера пакетов NuGet в Visual Studio для Mac вы можете легко устанавливать, удалять и обновлять пакеты NuGet в проектах и решениях. Вы можете искать и добавлять пакеты в проекты .NET Core, ASP.NET Core и Xamarin.

Эта статья описывает, как включить пакет NuGet в проект, и показывает цепочку инструментов, которая делает этот процесс простым и непрерывным.

Вводные сведения об использовании NuGet в Visual Studio для Mac см. в кратком руководстве по установке и использованию пакета в Visual Studio для Mac.

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

  1. Открыв проект в Visual Studio для Mac, щелкните правой кнопкой мыши папку Зависимости (папку Пакеты для проекта Xamarin) в окне решения и выберите пункт Управление пакетами NuGet... .

    Действие для добавления пакета NuGet в контекстном меню

  2. Откроется окно Управление пакетами NuGet. Чтобы выполнять поиск в центральном репозитории пакетов NuGet, убедитесь, что в раскрывающемся списке "Источник" в левом верхнем углу диалогового окна указано nuget.org.

    Список пакетов NuGet

  3. Используйте поле поиска в правом верхнем углу для поиска определенного пакета, например EntityFramework. Если вы нашли пакет, который хотите использовать, выберите его и нажмите кнопку Добавить пакет, чтобы начать установку.

    Добавление пакета NuGet для EntityFramework

  4. После скачивания пакет добавляется в проект. Решение будет отличаться в зависимости от типа редактируемого проекта.

    Проекты Xamarin

    • Узел Ссылки содержит список всех сборок, входящих в пакет NuGet.
    • Узел Пакеты отображает все скачанные вами пакеты NuGet. Вы можете обновить или удалить пакет в этом списке.

    Проекты .NET Core

    • В узле Зависимости > NuGet приводятся все скачанные вами пакеты NuGet. Вы можете обновить или удалить пакет в этом списке.

Использование пакетов NuGet

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

Убедитесь, что добавили все необходимые директивы using в начало файла:

using Newtonsoft.Json;

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

Пакеты можно обновить одновременно, щелкнув правой кнопкой мыши узел Зависимости (узел Пакеты для проектов Xamarin), или по отдельности. При выходе новой версии пакета NuGet появляется значок обновления в виде стрелки вверх с кружком.

Щелкните правой кнопкой мыши узел Зависимости, чтобы открыть контекстное меню, и выберите команду Обновить, чтобы обновить все пакеты.

Контекстное меню "Зависимости" с выделенной командой "Обновить"

  • Управление пакетами NuGet — открывает окно для добавления дополнительных пакетов в проект.
  • Обновить — проверяет исходный сервер для каждого пакета и скачивает более новые версии.
  • Восстановить — скачивает все отсутствующие пакеты (не обновляя существующие пакеты до более новых версий).

Параметры "Обновить" и "Восстановить" также доступны на уровне решения и затрагивают все проекты в решении.

Обновление до предварительных выпусков версий пакетов

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

Контекстное меню "Зависимости "с выделенным пунктом "Управление пакетами NuGet..."

Установите флажок Показать пакеты предварительного выпуска в нижней части диалогового окна.

Открытое диалоговое окно "Управление пакетами NuGet" с выбранным параметром "Показать пакеты предварительного выпуска"

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

Диалоговое окно "Управление пакетами NuGet", открытое на вкладке "Установленные", с выбранным пакетом и открытым раскрывающимся списком "Новая версия".

Поиск устаревших пакетов

В окне решения можно просмотреть текущую установленную версию пакета и щелкнуть пакет правой кнопкой мыши, чтобы обновить его.

Меню пакета с командами обновления и удаления

Если доступна новая версия пакета, рядом с его именем появляется уведомление и вы можете решить, нужно ли его обновить.

Уведомление о наличии новой версии пакета

В открывшемся меню есть две команды:

  • Обновить — проверяет исходный сервер и скачивает более новую версию (при ее наличии).
  • Удалить — удаляет пакет из этого проекта и соответствующие сборки из ссылок проекта.

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

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

  1. Щелкните решение правой кнопкой мыши и выберите пункт Управление пакетами NuGet….

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

  2. При управлении пакетами для решения пользовательский интерфейс позволяет выбрать проекты, затрагиваемые операциями.

    Выбор проекта при управлении пакетами для решения

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

При работе в решении с несколькими проектами рекомендуется, чтобы в каждом проекте использовалась одна и та же версия соответствующего пакета NuGet. В целях упрощения управления пакетами в решении в пользовательском интерфейсе диспетчера пакетов Visual Studio для Mac доступна вкладка Консолидация. С ее помощью можно увидеть, в каких проектах в решении используются пакеты с разными номерами версий.

Вкладка "Консолидация" пользовательского интерфейса диспетчера пакетов

В этом примере в проекте NuGetDemo используется Microsoft.EntityFrameworkCore 2.20, тогда как в проекте NuGetDemo.Shared используется Microsoft.EntityFrameworkCore 2.2.6. Для консолидации версий пакета сделайте следующее:

  • Выберите проекты для обновления в списке проектов.
  • В списке Новая версия выберите версию, которая будет использоваться во всех этих проектах, например Microsoft.EntityFrameworkCore 3.0.0.
  • Нажмите кнопку Консолидировать пакет.

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

Добавление источников пакетов

Пакеты, доступные для установки, изначально получаются из nuget.org. Однако в Visual Studio для Mac можно добавить другие расположения пакетов. Это может быть удобно для тестирования собственных пакетов NuGet, находящихся на стадии разработки, или при использовании закрытого сервера NuGet внутри вашей компании или организации.

В Visual Studio для Mac перейдите в раздел Visual Studio > Параметры > NuGet > Источники, чтобы просмотреть и изменить список источников пакетов. Обратите внимание, что источником может быть удаленный сервер (обозначенный URL-адресом) или локальный каталог.

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

Нажмите кнопку Добавить, чтобы задать новый источник. Введите понятное имя и URL-адрес (или путь к файлу) для источника пакета. Если источником является защищенный веб-сервер, введите также имя пользователя и пароль, в противном случае оставьте эти поля пустыми:

Диалоговое окно "Добавление источника пакета" с запросом на ввод имени, URL-адреса расположения, имени пользователя и пароля.

После этого при поиске пакетов можно выбрать различные источники:

Диалоговое окно "Добавление источника пакета", в котором отображается раскрывающийся список источников пакетов.

Управление версиями

В документации по NuGet рассматривается использование NuGet без фиксации пакетов в системе управления версиями. Если вы предпочитаете не хранить двоичные файлы и неиспользуемые сведения в системе управления версиями, можно настроить Visual Studio для Mac для автоматического восстановления пакетов с сервера. Это означает, что, когда разработчик впервые получает проект из системы управления версиями, Visual Studio для Mac автоматически скачивает и устанавливает необходимые пакеты.

Автоматическое восстановление пакетов

Сведения о том, как исключить каталог packages из отслеживания, см. в документации по используемой системе управления версиями.

См. также