Бөлісу құралы:


Восстановление пакетов NuGet с помощью Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

С помощью восстановления пакетов NuGet можно установить все зависимости проекта, не сохраняя их в системе управления версиями. Это позволяет более чистой среде разработки и меньшему размеру репозитория. Пакеты NuGet можно восстановить с помощью задачи восстановления NuGet, интерфейса командной строки NuGet или интерфейса командной строки .NET Core. В этой статье показано, как восстановить пакеты NuGet с помощью классических и YAML Pipelines.

Необходимые компоненты

Восстановление пакетов NuGet из веб-канала

  1. Перейдите к определению классического конвейера и нажмите кнопку "Изменить".

  2. Выберите + , чтобы добавить новую задачу. Найдите NuGet и нажмите кнопку "Добавить", чтобы добавить задачу в конвейер.

  3. Назовите задачу и выберите "Восстановить " из команды.

  4. Выберите веб-каналы, которые я выберите здесь, и выберите свой веб-канал в раскрывающемся меню. Если вы хотите использовать собственный файл конфигурации, выберите веб-каналы в моей конфигурации NuGet.config и введите путь к файлу конфигурации NuGet.config и подключению к службе, если вы хотите пройти проверку подлинности с помощью веб-каналов за пределами организации.

  5. Если вы хотите включить пакеты из NuGet.org, проверка "Использовать пакеты" из NuGet.org проверка box.

  6. После завершения нажмите кнопку "Сохранить и очередь ".

    Снимок экрана: настройка задачи восстановления NuGet.

Примечание.

Классическое восстановление NuGet использует задачу NuGetCommand@2 . По умолчанию эта версия использует NuGet 4.1.0. Используйте задачу установщика инструментов NuGet, если вы хотите использовать другую версию NuGet.

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

Поместите свою nuget.config папку в ту же папку, что и .slnфайл.csproj. Файл конфигурации должен выглядеть примерно так:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- remove inherited connection strings -->
    <clear />
    <!-- add an Azure Artifacts feed -->
    <add key="FabrikamFiber" value="https://pkgs.dev.azure.com/microsoftLearnModule/_packaging/FabrikamFiber/nuget/v3/index.json" />
    <!-- Get packages from NuGet.org -->
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

Чтобы восстановить пакеты NuGet, выполните следующую команду в каталоге проекта:

nuget.exe restore

Восстановление пакетов NuGet из веб-канала в другой организации

Чтобы восстановить пакеты NuGet из веб-канала в другой организации Azure DevOps, необходимо использовать личный маркер доступа для проверки подлинности.

Создание личного маркера доступа

  1. Перейдите в организацию Azure DevOps, а затем выберите параметры личных маркеров> доступа.

    Снимок экрана: создание личного маркера доступа.

  2. Создайте личный маркер доступа с помощью область упаковки (чтения) и скопируйте PAT в буфер обмена.

    Снимок экрана: создание личного маркера доступа с разрешениями на чтение упаковки.

восстановление пакетов NuGet;

  1. Перейдите к определению конвейера и выберите задачу восстановления NuGet. Убедитесь, что вы используете версию 2 задачи.

    Снимок экрана: версия задачи восстановления NuGet.

  2. Выберите веб-каналы и проверку подлинности, а затем выберите каналы в моей конфигурации NuGet.config.

  3. Выберите путь к файлу конфигурации NuGet.config .

  4. Выберите "Создать ", чтобы добавить учетные данные для веб-каналов за пределами этой организации или коллекции.

    Снимок экрана: настройка задачи восстановления NuGet.

  5. Выберите внешний сервер Azure DevOps Server, а затем введите URL-адрес веб-канала (убедитесь, что оно соответствует тому, что в конфигурации NuGet.config), имя подключения службы и созданный ранее личный маркер доступа. Выберите Сохранить, когда вы закончите.

    Снимок экрана: добавление нового подключения к службе.

  6. После завершения нажмите кнопку "Сохранить и очередь ".

Вопросы и ответы

Вопрос. Не удается восстановить мои пакеты NuGet?

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