Restaurar pacotes NuGet da linha de comando (dotnet)

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

Este guia explica como configurar seu projeto e restaurar seus pacotes NuGet usando a interface de linha de comando dotnet.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização do Azure DevOps.
- Um projeto do Azure DevOps.
- Um feed do Azure Artifacts.
- Baixe e instale o SDK .NET versão 9.0.200 ou posterior.

Configurar o provedor de credenciais Azure Artifacts

Para autenticar com o feed, primeiro você deve instalar o provedor de credenciais Azure Artifacts. Usando o instalador de ferramentas incluído no dotnet, você pode instalar o provedor de credenciais da CLI usando o seguinte comando:

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

Se o nuget.config no nível do repositório estiver configurado para usar apenas fontes do Azure Artifacts, execute o comando de instalação fora desse diretório ou defina explicitamente nuget.org como a origem:

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

Opcionalmente, fixe a ferramenta em uma versão principal específica (por exemplo, em imagens de contêiner em que a reprodutibilidade é importante):

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

Primeiro uso

Na primeira vez que você executar uma operação que exija autenticação, use uma das seguintes abordagens:

  1. Execute o comando com --interactive para que dotnet possa solicitar que você faça login. Essa é a abordagem recomendada para a maioria dos cenários de desenvolvimento local.

Antes de executar um comando interativo, verifique se o projeto está configurado e se o feed é adicionado ao nuget.config. Para obter detalhes da instalação, consulte a configuração do projeto.

Depois que o projeto estiver configurado e conectado ao feed, navegue até o diretório do projeto e execute:

dotnet restore --interactive

Esse comando o inscreve e adquire um token de sessão. Após fazer login com sucesso, você poderá executar comandos autenticados sem --interactive enquanto o token de sessão em cache permanecer válido. Para obter mais informações, consulte Session token cache locations.

  1. Para cenários não interativos, como contêineres do Docker e automação personalizada, forneça credenciais por meio de variáveis environment.

Para Azure Pipelines, use a tarefa NuGetAuthenticate@1 para autenticar no feed antes de executar comandos como dotnet restore ou dotnet nuget push. Consulte Restaurar pacotes NuGet com o Azure Pipelines para obter mais detalhes.

Conectar-se a um feed

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione Conectar ao feed e, em seguida, selecione dotnet na seção NuGet à esquerda.

  4. Crie um arquivo nuget.config na mesma pasta que o arquivo csproj ou sln. Copie o seguinte snippet XML e cole-o em seu novo arquivo, substituindo os espaços reservados pelas informações relevantes:

  • Feed da organização com escopo:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <clear />
        <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
      </packageSources>
    </configuration>
    
  • Feed do projeto com escopo:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <clear />
        <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
      </packageSources>
    </configuration>
    
  1. Entre no servidor do Azure DevOps e navegue até o projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed.

  3. Selecione Conectar ao Feed e selecione dotnet no painel de navegação esquerdo.

  4. Siga as instruções na seção de instalação do Projeto para se conectar ao feed.

    Uma captura de tela mostrando como se conectar a um feed com dotnet no Azure DevOps Server 2020 e 2022.

Restaurar pacotes

Execute o comando a seguir para restaurar seus pacotes. O sinalizador --interactive é usado para solicitar credenciais ao usuário:

dotnet restore --interactive