Restauración de paquetes NuGet con Azure Pipelines

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

Con la restauración de paquetes NuGet, puede instalar todas las dependencias del proyecto sin tener que almacenarlas en el control de código fuente. Esto permite un entorno de desarrollo más limpio y un tamaño de repositorio más pequeño. Puede restaurar los paquetes NuGet mediante la tarea de restauración de NuGet, la CLI de NuGet o la CLI de .NET Core. En este artículo, se muestra cómo restaurar los paquetes NuGet mediante canalizaciones clásicas y canalizaciones YAML.

Prerrequisitos

Restauración de paquetes NuGet desde una fuente

  1. Vaya a la definición de canalización clásica y seleccione Editar.

  2. Seleccione + para agregar una nueva tarea. Busque NuGet y seleccione Agregar para agregar la tarea a la canalización.

  3. Asigne un nombre a la tarea y seleccione Restaurar desde el comando.

  4. Seleccione Fuentes que selecciono aquí y seleccione la fuente en el menú desplegable. Si quiere usar su propio archivo de configuración, seleccione Fuentes en mi NuGet.config y escriba la ruta de acceso a su archivo NuGet.config y la conexión de servicio si desea autenticarse con fuentes fuera de la organización.

  5. Si quiere incluir paquetes de NuGet.org, active la casilla Usar paquetes de NuGet.org.

  6. Cuando termine, seleccione Guardar y poner en cola.

    Captura de pantalla que muestra cómo configurar la tarea de restauración de NuGet.

Nota:

La restauración clásica de NuGet usa la NuGetCommand@2. De manera predeterminada, esta versión usa NuGet 4.1.0. Use la tarea Instalador de herramientas de NuGet si desea usar una versión de NuGet diferente.

Restauración local de paquetes NuGet

Coloque el nuget.config en la misma carpeta que el archivo .csproj o .sln. El archivo de configuración debe tener una apariencia similar a la del ejemplo siguiente:

<?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>

Para restaurar los paquetes NuGet, ejecute el comando siguiente en el directorio del proyecto:

nuget.exe restore

Restauración de paquetes NuGet de una fuente en otra organización

Para restaurar paquetes NuGet de una fuente en otra organización de Azure DevOps, debe usar un token de acceso personal para autenticarse.

Crear un token de acceso personal

  1. Vaya a la organización de Azure DevOps y, a continuación, seleccione Configuración del usuario>Tokens de acceso personal.

    Captura de pantalla que muestra cómo crear un token de acceso personal.

  2. Cree un token de acceso personal con el ámbitoEmpaquetado (lectura) y copie el PAT en el Portapapeles.

    Captura de pantalla que muestra cómo crear un token de acceso personal con permisos de lectura de empaquetado.

Restaurar paquetes NuGet.

  1. Vaya a la definición de canalización y seleccione la tarea Restauración de NuGet. Asegúrese de que usa la versión 2 de la tarea.

    Captura de pantalla que muestra la versión de la tarea de restauración de NuGet.

  2. Seleccione Fuentes y autenticación y, a continuación, seleccione Fuentes en mi NuGet.config.

  3. Seleccione la ruta de acceso del archivo NuGet.config.

  4. Seleccione Nuevo para agregar credenciales para fuentes fuera de esta organización o colección.

    Captura de pantalla que muestra cómo configurar la tarea de restauración de NuGet.

  5. Seleccione Azure DevOps Server externo y escriba la dirección URL de la fuente (asegúrese de que coincida con la que existe en NuGet.config), el nombre de la conexión de servicio y el token de acceso personal que creó anteriormente. Cuando haya terminado, haga clic en Guardar.

    Captura de pantalla que muestra cómo crear una conexión de servicio.

  6. Cuando termine, seleccione Guardar y poner en cola.

Preguntas más frecuentes

P: ¿Por qué mi canalización no puede restaurar mis paquetes NuGet?

R: La tarea de restauración de NuGet puede generar un error por varios motivos. El escenario más común es cuando se agrega un nuevo proyecto que requiere un marco de destino que no sea compatible con la versión de NuGet que está usando la canalización. Este error no se produce generalmente en el entorno de desarrollo local porque Visual Studio se encarga de actualizar la solución en consecuencia. Asegúrese de actualizar la tarea de NuGet a la versión más reciente.