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

Важно!

Visual Studio для Mac планируется выйти на пенсию 31 августа 2024 года в соответствии с современной политикой жизненного цикла Майкрософт. Хотя вы можете продолжать работать с Visual Studio для Mac, есть несколько других вариантов для разработчиков на Mac, таких как предварительная версия нового расширения комплекта разработки C# для VS Code.

Дополнительные сведения о временной шкале поддержки и альтернативах.

С помощью пользовательского интерфейса диспетчера пакетов 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....

    This screenshot is of Add new NuGet package context action.

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

    This screenshot is of Manage NuGet Packages dialog - List NuGet Packages. The Package source option is set to nuget.org.

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

    This screenshot is of add EntityFramework NuGet Package.

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

    Проекты Xamarin

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

    Проекты .NET Core

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

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

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

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

using Newtonsoft.Json;

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

Пакеты можно обновить одновременно, щелкнув правой кнопкой мыши узел Зависимости (узел Пакеты для проектов Xamarin), или по отдельности. Когда доступна новая версия пакета NuGet, отображается This is the update icon for updating a new version of NUGet package - Up arrow with circle.значок обновления.

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

This screenshot shows the Dependencies context menu with the Update menu highlighted.

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

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

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

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

This screenshot shows Dependencies context menu with Manage NuGet Packages... menu highlighted.

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

This screenshot shows Manage NuGet Packages dialog opened with the 'Include prereleases option checked.

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

This screenshot shows Manage NuGet Packages dialog opened to the Installed tab, with a package selected and the New Version dropdown list open.

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

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

This screenshot shows Packages menu with the options to Update, Remove, Refresh.

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

This screenshot is of Notification shown when a new package version is available.

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

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

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

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

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

    This screenshot shows Manage NuGet packages for the solution.

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

    This screenshot shows Project selector when managing packages for the solution.

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

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

This screenshot shows the Package Manager UI Consolidate tab.

В этом примере в проекте NuGetDemo используется Microsoft.EntityFrameworkCore 3.1.23, тогда как в проекте NuGetDemo.Shared используется Microsoft.EntityFrameworkCore 5.0.2. Чтобы консолидировать версии пакетов:

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

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

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

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

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

This screenshot shows Package Sources to add other package locations to Visual Studio for Mac.

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

This screenshot shows Add Package Source dialog with a prompt for Name, location URL, user name, and password.

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

This screenshot shows Add Package Source dialog showing a drop down with a list of package sources.

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

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

This screenshot shows the Preferences screen to automatically restore packages when opening a solution.

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

См. также