Uso de paquetes desde la Galería de NuGet

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Los orígenes ascendentes de Azure Artifacts facilitan a los desarrolladores extraer paquetes de registros públicos, como nuget.org y npmjs.com. En este artículo, aprenderá a configurar el proyecto y a usar la línea de comandos para consumir paquetes NuGet desde la Galería de NuGet.

Requisitos previos

Producto Requisitos
Azure DevOps - Una organización de Azure DevOps .
- Un proyecto de Azure DevOps .
- Una fuente de Azure Artifacts.
- Descargue e instale la versión .NET SDK9.0.200 o posterior.

Configuración del proveedor de credenciales de Azure Artifacts

Para autenticarte en tu feed, primero debes instalar el proveedor de credenciales de Azure Artifacts. Con el instalador de herramientas incluido con dotnet, puede instalar el proveedor de credenciales desde la CLI mediante el siguiente comando:

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool

Si el nuget.config a nivel de repositorio está configurado para usar solo orígenes de Azure Artifacts, ejecute el comando de instalación desde fuera de ese directorio o establezca explícitamente nuget.org como origen:

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json

Opcionalmente, ancle la herramienta a una versión principal (por ejemplo, en imágenes de contenedor donde importa la reproducibilidad):

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json

Primer uso

La primera vez que realice una operación que requiera autenticación, use uno de los métodos siguientes:

  1. Ejecute el comando con --interactive para que dotnet pueda pedir que inicie sesión. Este es el enfoque recomendado para la mayoría de los escenarios de desarrollo local.

Antes de ejecutar un comando interactivo, asegúrese de que el proyecto esté configurado y de que la fuente se agregue a nuget.config. Para obtener más información sobre la configuración, consulte configuración del proyecto.

Una vez que su proyecto esté configurado y conectado a su feed, vaya al directorio de su proyecto y ejecute:

dotnet restore --interactive

Este comando inicia sesión y adquiere un token de sesión. Una vez que el inicio de sesión se realiza correctamente, puede ejecutar comandos autenticados sin --interactive mientras el token de sesión almacenado en caché siga siendo válido. Para obtener más información, consulte Session token cache locations.

  1. En escenarios no interactivos, como contenedores de Docker y automatización personalizada, proporcione credenciales a través de variables de entorno.

Para Azure Pipelines, utiliza la tarea NuGetAuthenticate@1 para autenticarte en tu feed antes de ejecutar comandos como dotnet restore o dotnet nuget push. Consulte Restaurar paquetes NuGet con Azure Pipelines para obtener más información.

Creación de una nueva fuente y habilitación de orígenes ascendentes

Si aún no ha creado un feed, siga los pasos siguientes para crear un nuevo feed y habilitar los orígenes upstream. Si ya tiene un feed, continúe con el paso siguiente para agregar la Galería de NuGet como origen ascendente.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, Crear feed.

  3. Proporcione un Nombre para su feed, seleccione la opción Visibilidad para definir quién puede ver sus paquetes y elija su Ámbito. Azure Artifacts recomienda limitar el alcance de los feeds a un proyecto en lugar de a toda la organización.

  4. Asegúrese de comprobar la opción Incluir paquetes de orígenes públicos comunes , ya que lo necesitará para consumir paquetes de registros públicos, como nuget.org, npmjs.com etc.

  5. Seleccione Crear cuando haya terminado.

    Captura de pantalla que muestra el panel Crear feed con las fuentes de origen habilitadas en Azure Artifacts.

Si activó la casilla Fuentes ascendentes al crear la fuente (como se muestra en la sección anterior), la Galería de NuGet debería haberse agregado automáticamente a las fuentes ascendentes de su feed. Si está trabajando con una fuente diferente o olvidó comprobar esa opción, puede agregar manualmente la Galería de NuGet siguiendo estos pasos:

  1. Inicie sesión en Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.

  3. Seleccione el botón del icono del engranaje icono de engranaje para ir a Configuración de fuente.

  1. Seleccione Orígenes ascendentes y, después, Agregar ascendente.

  2. Seleccione Origen público, galería de NuGet en el menú desplegable y, a continuación, seleccione Agregar.

  3. Seleccione Guardar en la esquina superior derecha y, a continuación, seleccione Guardar de nuevo para confirmar y aplicar los cambios.

Conexión a la fuente

En esta sección, aprenderá a configurar su proyecto para autenticarse con el feed de Azure Artifacts y guardar paquetes de fuentes ascendentes, como el repositorio de NuGet Gallery.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.

  3. Seleccione Conectar a la fuente y, a continuación, seleccioneNuGet.exe.

  4. Asegúrese de que ha instalado los requisitos previos y agregue un archivo nuget.config en la misma carpeta que el archivo .csproj o .sln .

  5. Pegue el fragmento de código XML proporcionado en la sección Configuración del proyecto en el archivo. El archivo debe ser similar al siguiente:

    • Fuente con ámbito de proyecto:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • Feed con ámbito de organización:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Inicie sesión en la colección de Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.

  3. Seleccione Conectar a la fuente y, a continuación, seleccione NuGet.exe en el panel de navegación izquierdo.

  4. Siga las instrucciones de la sección Configuración del proyecto para conectarse a su fuente.

Nota

Para guardar paquetes de fuentes de origen, debe tener el rol de Lector de feeds y fuentes de origen (colaborador) o superior. Consulte Administración de permisos para obtener más información.

Ahora que su proyecto está configurado para autenticarse con su feed de Azure Artifacts, puede proceder a instalar paquetes de la Galería de NuGet (upstream). En este ejemplo, instalará el MCP C# SDK para el Protocolo de contexto de modelo (MCP), que permite a las aplicaciones .NET interactuar con clientes y servidores MCP:

  1. Vaya a la Galería de NuGet en https://www.nuget.org/.

  2. Busque ModelContextProtocol y selecciónelo para abrir la página de detalles.

  3. Seleccione la pestaña CLI de .NET y copie el comando . En este ejemplo, el comando es:

    dotnet add package ModelContextProtocol --version 0.3.0-preview.4
    
  4. Abre una ventana de línea de comandos, navega hasta el directorio de tu proyecto, pega el comando y pulsa Intro para instalar el paquete.

Una vez instalado, se guardará automáticamente una copia del paquete en el feed, asegurando la disponibilidad si la Galería de NuGet está inactiva y protegiendo el workflow de otros paquetes dañados o malintencionados en el registro público.

Nota

Para guardar paquetes de repositorios ascendentes, debe tener el rol de Lector de fuentes y ascendentes (Colaborador) o superior. Consulte Roles y permisos del feed para obtener más detalles.

Visualización de paquetes guardados

  1. Inicie sesión en Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione tu feed en el menú desplegable.

  3. Seleccione el origen de la galería de NuGet en el menú desplegable para filtrar los paquetes de esta cadena ascendente.

  4. Los paquetes ModelContextProtocol, instalados en el paso anterior, ahora están disponibles en nuestro canal. Azure Artifacts ha guardado automáticamente una copia en tu feed.

    Captura de pantalla que muestra el paquete MCP guardado en el feed.