Установка пакетов NuGet и управление ими в Visual Studio для Mac
Область применения:Visual Studio для Mac
Visual Studio
С помощью пользовательского интерфейса диспетчера пакетов NuGet в Visual Studio для Mac вы можете легко устанавливать, удалять и обновлять пакеты NuGet в проектах и решениях. Вы можете искать и добавлять пакеты в проекты .NET Core, ASP.NET Core и Xamarin.
Эта статья описывает, как включить пакет NuGet в проект, и показывает цепочку инструментов, которая делает этот процесс простым и непрерывным.
Вводные сведения об использовании NuGet в Visual Studio для Mac см. в кратком руководстве по установке и использованию пакета в Visual Studio для Mac.
Поиск и установка пакета
Открыв проект в Visual Studio для Mac, щелкните правой кнопкой мыши папку Зависимости (папку Пакеты для проекта Xamarin) в окне решения и выберите пункт Управление пакетами NuGet... .
Откроется диалоговое окно Управление пакетами NuGet. Убедитесь, что в раскрывающемся списке Источник пакетов в левом нижнем углу диалогового окна установлено значение
nuget.org
, чтобы поиск выполнялся в центральном репозитории пакетов NuGet.Используйте поле Поиск в правом верхнем углу для поиска определенного пакета, например
EntityFramework
. Если вы нашли пакет, который хотите использовать, выберите его и нажмите кнопку Добавить пакет, чтобы начать установку.После скачивания пакет добавляется в проект. Решение будет отличаться в зависимости от типа редактируемого проекта.
Проекты Xamarin
- Узел Ссылки содержит список всех сборок, входящих в пакет NuGet.
- Узел Пакеты отображает все скачанные вами пакеты NuGet. Вы можете обновить или удалить пакет в этом списке.
Проекты .NET Core
- В узле Зависимости > NuGet отображаются все скачанные вами пакеты NuGet. Вы можете обновить или удалить пакет в этом списке.
Использование пакетов NuGet
После добавления пакета NuGet и обновления ссылок проекта вы можете программировать использование API точно так же, как и любых других ссылок проекта.
Убедитесь, что добавили все необходимые директивы using
в начало файла:
using Newtonsoft.Json;
Обновление пакетов
Пакеты можно обновить одновременно, щелкнув правой кнопкой мыши узел Зависимости (узел Пакеты для проектов Xamarin), или по отдельности. Когда новая версия пакета NuGet станет доступной, отобразится значок обновления.
Щелкните правой кнопкой мыши узел Зависимости, чтобы открыть контекстное меню, и выберите команду Обновить, чтобы обновить все пакеты.
- Управление пакетами NuGet — открывает окно для добавления дополнительных пакетов в проект.
- Обновить — проверяет исходный сервер для каждого пакета и скачивает более новые версии.
- Восстановить — скачивает все отсутствующие пакеты (не обновляя существующие пакеты до более новых версий).
Параметры Обновить и Восстановить также доступны на уровне решения и затрагивают все проекты в решении.
Обновление до предварительных выпусков версий пакетов
Чтобы выполнить обновление до более нового предварительного выпуска пакета, щелкните правой кнопкой мыши узел Зависимости, чтобы открыть контекстное меню, и выберите пункт Управление пакетами NuGet... .
Установите флажок Включить предварительные версии в нижней части диалогового окна.
Наконец, на вкладке Обновления диалогового окна выберите пакет, который нужно обновить, выберите новую предварительную версию в раскрывающемся списке Новая версия и щелкните Обновить пакет.
Поиск устаревших пакетов
В окне Решение можно просмотреть текущую установленную версию пакета. Щелкните пакет правой кнопкой мыши, чтобы обновить его.
Вы также увидите уведомление рядом с именем пакета, когда будет доступна новая версия пакета. Вы можете решить, нужно ли обновить его.
В открывшемся меню есть две команды:
- Обновить — проверяет исходный сервер и скачивает более новую версию (при ее наличии).
- Удалить — удаляет пакет из этого проекта и соответствующие сборки из ссылок проекта.
Управление пакетами для решения
Управление пакетами для решения — это удобный способ одновременно работать с несколькими проектами.
Щелкните решение правой кнопкой мыши и выберите пункт Управление пакетами NuGet….
При управлении пакетами для решения пользовательский интерфейс позволяет выбирать проекты, затрагиваемые операциями.
Вкладка "Консолидация"
Когда вы работаете в решении с несколькими проектами, убедитесь, что везде, где вы используете один пакет NuGet в каждом проекте, вы также используете один номер версии этого пакета. Visual Studio для Mac помогает упростить задачу, предоставляя вкладку Консолидация в пользовательском интерфейсе диспетчера пакетов, когда вы выбираете управление пакетами для решения. Используя вкладку Консолидация, вы можете легко увидеть, где пакеты с разными номерами версий используются разными проектами в решении:
В этом примере в проекте NuGetDemo используется Microsoft.EntityFrameworkCore 3.1.23, тогда как в проекте NuGetDemo.Shared используется Microsoft.EntityFrameworkCore 5.0.2. Чтобы консолидировать версии пакетов:
- Выберите проекты для обновления в списке проектов.
- Выберите версию для использования во всех этих проектах в списке Новая версия, например Microsoft.EntityFrameworkCore 6.0.3.
- Нажмите кнопку Консолидировать пакет.
Диспетчер пакетов устанавливает выбранную версию пакета во все выбранные проекты. После этого пакет больше не будет отображаться на вкладке Консолидация.
Добавление источников пакетов
Пакеты, доступные для установки, изначально получаются из nuget.org. Однако в Visual Studio для Mac можно добавить другие расположения пакетов. Это полезно для тестирования собственных разрабатываемых пакетов NuGet или для использования частного сервера NuGet в пределах вашей компании или организации.
В Visual Studio для Mac перейдите в раздел Visual Studio > Параметры > NuGet > Источники, чтобы просмотреть и изменить список источников пакетов. Источником может быть удаленный сервер (обозначенный URL-адресом) или локальный каталог.
Щелкните Добавить, чтобы задать новый источник. Укажите понятное имя и расположение (URL-адрес или путь к файлу) для источника пакета. Если источником является защищенный веб-сервер, введите также имя пользователя и пароль, в противном случае оставьте эти поля пустыми:
После этого при поиске пакетов можно выбрать различные источники:
Управление версиями
В документации по NuGet рассматривается использование NuGet без фиксации пакетов в системе управления версиями. Если вы предпочитаете не хранить двоичные файлы и неиспользуемые сведения в системе управления версиями, можно настроить Visual Studio для Mac для автоматического восстановления пакетов с сервера. Когда разработчик впервые получает проект из системы управления версиями, Visual Studio для Mac автоматически скачивает и устанавливает необходимые пакеты.
Сведения о том, как исключить каталог packages
из отслеживания, см. в документации по используемой системе управления версиями.