Variáveis de ambiente da CLI do NuGet

O comportamento da CLI do nuget.exe pode ser configurado por meio de diversas variáveis de ambiente, que afetam o nuget.exe em todo o computador, usuário ou níveis de processo. As variáveis de ambiente sempre substituem quaisquer configurações nos arquivos NuGet.Config, permitindo que os servidores de compilação alterem as configurações apropriadas sem modificar nenhum arquivo.

Em geral, as opções especificadas diretamente na linha de comando ou nos arquivos de configuração do NuGet têm precedência, mas há algumas exceções, como FORCE_NUGET_EXE_INTERACTIVE. Se você achar que o nuget.exe se comporta de forma diferente entre computadores diferentes, uma variável de ambiente pode ser a causa. Por exemplo, o Kudu de Aplicativos Web do Azure (usado durante a implantação) NUGET_XMLDOC_MODE, configurado para ignorar para acelerar o desempenho de restauração de pacotes e economizar espaço em disco.

A CLI do NuGet usa o MSBuild para ler os arquivos de projeto. Todas as variáveis de ambiente estão disponíveis como propriedades durante a avaliação do MSBuild. A lista de propriedades documentadas no pacote e restauração do NuGet e como destinos do MSBuild também pode ser definida como variáveis de ambiente.

Variável Descrição Comentários
http_proxy Proxy http usado para operações HTTP do NuGet. Seria especificado como http://<username>:<password>@proxy.com.
no_proxy Configura domínios para ignorar o uso de proxy. Especificados como domínios separados por vírgula (,).
EnableNuGetPackageRestore Sinalize se o NuGet deve conceder consentimento implicitamente se isso for exigido pelo pacote na restauração. O sinalizador especificado é tratado como verdadeiro ou 1, qualquer outro valor será tratado como sinalizador não definido.
NUGET_CLI_LANGUAGE Altera o idioma de saída nuget.exe Disponível nas versões 6.5 e superiores. Os valores suportados são nomes locais de idiomas suportados do Visual Studio: zh-cn, zh-tw, cs-cz, en-us, es-es, fr-fr, de-de, it-it, ja-jp, ko-kr, pl-pl, pt-br, ru-ru e tr-tr.
NUGET_EXE_NO_PROMPT Impede que o exe solicite credenciais. Qualquer valor, exceto nulo ou cadeia de caracteres vazia, será tratado como esse sinalizador set/true.
NUGET_MAX_RETRY_AFTER_DELAY_SECONDS Duração máxima entre novas tentativas quando a resposta HTTP contém o cabeçalho Retry-After Quando NUGET_OBSERVE_RETRY_AFTER está habilitado (como é por padrão) e uma resposta HTTP contém um cabeçalho Retry-After, essa variável de ambiente define a duração máxima que será aguardada. Observe que a repetição pode fornecer uma duração (delta) ou um carimbo de data/hora (data). Se o servidor retornar um carimbo de data/hora e o relógio do computador estiver fora de sincronia com o servidor, a duração calculada poderá ser muito longa (ou negativa).
FORCE_NUGET_EXE_INTERACTIVE Variável de ambiente global para forçar o modo interativo. Qualquer valor, exceto nulo ou cadeia de caracteres vazia, será tratado como esse sinalizador set/true.
NUGET_PACKAGES Caminho a ser usado para a pasta global-packages, conforme descrito em Gerenciando os pacotes globais e as pastas de cache. Especificado como caminho absoluto.
NUGET_FALLBACK_PACKAGES Pastas de pacotes de fallback global. Caminhos de pasta absolutos separados por ponto-e-vírgula (;).
NUGET_HTTP_CACHE_PATH Caminho a ser usado para a pasta http-cache, conforme descrito em Gerenciando os pacotes globais e as pastas de cache. Especificado como caminho absoluto.
NUGET_OBSERVE_RETRY_AFTER Optar por não usar a mensagem de resposta HTTP Retry-After em durações de atrasos Antes do NuGet 6.5, o NuGet tentava novamente todas as solicitações com falha com a mesma estratégia de recuo. A partir do NuGet 6.5, o NuGet usará, por padrão, o período de atraso Retry-After fornecido pelo servidor. Defina essa variável de ambiente como false para ignorar o cabeçalho de resposta Retry-After. Veja também NUGET_MAX_RETRY_AFTER_DELAY_SECONDS
NUGET_RESTORE_MSBUILD_ARGS Define argumentos adicionais do MSBuild. Passe argumentos idênticos a como você os passaria para msbuild.exe. Um exemplo de configuração de uma propriedade de projeto Foo da linha de comando para o valor Bar seria /p:Foo=Bar
NUGET_RETRY_HTTP_429 Alterar o comportamento de repetição em respostas HTTP 429 Antes do NuGet 6.5, o NuGet não repetia solicitações que resultassem em HTTP 429 ou 408. O valor padrão é true, e essa variável de ambiente pode ser definida como false para aceitar o comportamento NuGet mais antigo (não tentar a solicitação novamente)
NUGET_RESTORE_MSBUILD_VERBOSITY Define o detalhamento do log do MSBuild. O padrão é quiet ("/v:q"). Os níveis possíveis são q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic].
NUGET_SHOW_STACK Determina se a exceção completa (incluindo rastreamento de pilha) deve ser exibida ao usuário. Especificado como true ou false (padrão).
NUGET_UPDATEFILETIME_MAXRETRIES Define o número de vezes que o NuGet tentará definir o carimbo de data/hora do arquivo ao extrair pacotes. No Windows, o software antivírus pode abrir arquivos temporariamente, impedindo que o NuGet altere o carimbo de data/hora. O NuGet usa um recuo exponencial em que a duração da espera entre as tentativas é de Math.Pow(2, retryNumber). O máximo padrão de tentativas é 9, o que significa que a duração total de espera padrão antes da falha será de aproximadamente um segundo.
NUGET_XMLDOC_MODE Determina como a extração do arquivo de documentação XML dos assemblies deve ser manipulada. Os modos suportados são ignorar (não extrair arquivos de documentação XML), compactar (armazenar arquivos XML doc como um arquivo zip) ou nenhum (padrão, tratar arquivos XML doc como arquivos regulares).
NUGET_CERT_REVOCATION_MODE Determina como a verificação do status de revogação do certificado usado para assinar um pacote é executada quando um pacote assinado é instalado ou restaurado. Quando não for definido, o padrão será online. Valores possíveis on-line (padrão), off-line. Relacionados com NU3028
NUGET_ENABLE_ENHANCED_HTTP_RETRY Habilita ou desabilita a repetição avançada de HTTP no NuGet. Os valores possíveis são true (padrão) ou false.
NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT Configura o número máximo de vezes que uma conexão HTTP deve ser tentada novamente quando as novas tentativas avançadas estão habilitadas. Um número que representa quantas novas tentativas executar, o valor padrão é 6.
NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS Configura o tempo para aguardar em milissegundos antes de tentar novamente uma conexão HTTP quando as novas tentativas avançadas estão habilitadas. O número de milissegundos a aguardar, o valor padrão é 1000.
NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING Determina se Netwonsoft.Json é usado ou não para analisar o arquivo de ativos durante a restauração Os valores possíveis são true ou false (padrão).