Variáveis de ambiente do .NET
Este artigo se aplica a: ✔️ SDK do .NET Core 3.1 e versões posteriores
Neste artigo, você aprenderá sobre as variáveis de ambiente usadas pelo .NET. Algumas variáveis de ambiente são usadas pelo runtime do .NET, enquanto outras são usadas apenas pelo SDK do .NET e pela CLI do .NET. Algumas variáveis de ambiente são usadas pelos três componentes.
Variável de ambiente do runtime do .NET
DOTNET_SYSTEM_NET_HTTP_*
Há várias configurações globais de variável de ambiente HTTP:
DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION
- Indica se a propagação de atividade do manipulador de diagnóstico das configurações HTTP globais deve ser habilitada ou não.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT
- Quando definida como
false
ou0
, desabilita o suporte HTTP/2, que é habilitado por padrão.
- Quando definida como
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
- Quando definida como
true
ou1
, habilita o suporte HTTP/3, que é desabilitado por padrão.
- Quando definida como
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
- Quando definida como
false
ou0
, substitui o padrão e desabilita o algoritmo de dimensionamento de janela dinâmica HTTP/2.
- Quando definida como
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE
- O padrão é 16 MB. Quando substituído, o tamanho máximo da janela de recebimento do fluxo HTTP/2 não pode ser inferior a 65.535.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER
- O valor padrão é 1.0. Quando substituído, valores mais altos resultam em uma janela mais curta, mas em downloads mais lentos. Não pode ser inferior a 0.
DOTNET_SYSTEM_GLOBALIZATION_*
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
: confira o modo invariável definido.DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY
: especifica se apenas as culturas predefinidas devem ser carregadas.DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU
: indica se o ICU (International Components of Unicode) local do aplicativo deve ser usado. Para obter mais informações, veja ICU local do aplicativo.
Definir o modo invariável
Os aplicativos podem habilitar o modo invariável usando um dos seguintes métodos:
No arquivo de projeto:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>
No arquivo runtimeconfig.json:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }
Definindo o valor
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
da variável de ambiente comotrue
ou1
.
Importante
Um valor definido no arquivo de projeto ou no runtimeconfig.json tem uma prioridade maior do que a variável de ambiente.
Para obter mais informações, confira Modo invariável de globalização do .NET.
DOTNET_SYSTEM_GLOBALIZATION_USENLS
Isso se aplica somente ao Windows. Para que a globalização use o NLS (suporte ao idioma nacional), defina DOTNET_SYSTEM_GLOBALIZATION_USENLS
como true
ou 1
. Para não usá-lo, defina DOTNET_SYSTEM_GLOBALIZATION_USENLS
como false
ou 0
.
DOTNET_SYSTEM_NET_SOCKETS_*
Esta seção se concentra em duas variáveis de ambiente System.Net.Sockets
:
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
As continuações do soquete são enviadas do thread de eventos ao System.Threading.ThreadPool. Isso evita continuações que bloqueiam o tratamento de evento. Para permitir que as continuações sejam executadas diretamente no thread de eventos, defina DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
como 1
. Isso está desabilitado por padrão.
Observação
Essa configuração pode piorar o desempenho quando há um trabalho dispendioso que mantém o thread de E/S por mais tempo do que o necessário. Faça um teste para verificar se essa configuração ajuda no desempenho.
Usando parâmetros de comparação do TechEmpower que geram muitas leituras e gravações pequenas de soquete com uma carga muito alta, um só mecanismo de soquete pode ocupar até trinta núcleos de CPU x64 e oito Arm64. A grande maioria dos cenários reais nunca gera uma carga tão grande (centenas de milhares de solicitações por segundo), portanto, um só produtor é quase sempre suficiente. No entanto, para ter certeza de que cargas extremas podem ser manipuladas, use DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
para substituir o valor calculado. Quando ele não é substituído, o seguinte valor é usado:
- Quando
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
é1
, o valor Environment.ProcessorCount é usado. - Quando
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
não é1
, RuntimeInformation.ProcessArchitecture é avaliado:- Quando é Arm ou Arm64, o valor de núcleos por mecanismo é definido como
8
, caso contrário, como30
.
- Quando é Arm ou Arm64, o valor de núcleos por mecanismo é definido como
- Usando o valor de núcleos por mecanismo, o valor máximo de
1
ou Environment.ProcessorCount sobre os núcleos por mecanismo.
DOTNET_SYSTEM_NET_DISABLEIPV6
Ajuda a determinar se o IPv6 está desabilitado ou não. Quando definida como true
ou 1
, o IPv6 está desabilitado, a menos que haja outra especificação em System.AppContext.
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
Você pode usar um dos seguintes mecanismos para configurar um processo para usar o HttpClientHandler
mais antigo:
No código, use a classe AppContext
:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
A opção AppContext
também pode ser definida por um arquivo de configuração. Para obter mais informações sobre como configurar opções, confira AppContext para consumidores de biblioteca.
O mesmo pode ser obtido por meio da variável de ambiente DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
. Para recusar, defina o valor como false
ou 0
.
Observação
Do .NET 5 em diante, essa configuração para usar HttpClientHandler não está mais disponível.
DOTNET_Jit*
e DOTNET_GC*
Há dois recursos relacionados a estresse para as informações JIT e da GC geradas por JIT: estresse JIT e estresse de espaço de GC. Durante o desenvolvimento, esses recursos são uma forma de descobrir casos de borda e cenários mais "reais" sem precisar desenvolver aplicativos complexos. As seguintes variáveis de ambiente estão disponíveis:
DOTNET_JitStress
DOTNET_JitStressModeNamesOnly
DOTNET_GCStress
Estresse JIT
A habilitação do estresse JIT pode ser feita de várias maneiras. Defina DOTNET_JitStress
como um valor inteiro diferente de zero para gerar diferentes níveis de otimizações JIT com base em um hash do nome do método. Para aplicar todas as otimizações, defina DOTNET_JitStress=2
, por exemplo. Outra maneira de habilitar o estresse JIT é definir DOTNET_JitStressModeNamesOnly=1
e solicitar os modos de estresse, delimitados por espaço, na variável DOTNET_JitStressModeNames
.
Como exemplo, considere:
DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS
Estresse de espaço de GC
A habilitação do estresse de espaço de GC faz com que as GCs sempre ocorram em locais específicos e isso ajuda a rastrear espaços de GC. O estresse de espaço de GC pode ser habilitado usando a variável de ambiente DOTNET_GCStress
.
Para obter mais informações, confira Investigar o estresse JIT e o estresse de espaço de GC.
Barreiras de memória JIT
O gerador de código para Arm64 permite que todas as instruções MemoryBarriers
sejam removidas definindo DOTNET_JitNoMemoryBarriers
como 1
.
DOTNET_RUNNING_IN_CONTAINER
e DOTNET_RUNNING_IN_CONTAINERS
As imagens oficiais do .NET (Windows e Linux) definem as variáveis de ambiente conhecidas:
DOTNET_RUNNING_IN_CONTAINER
DOTNET_RUNNING_IN_CONTAINERS
Esses valores são usados para determinar quando as cargas de trabalho do ASP.NET Core estão em execução no contexto de um contêiner.
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
Quando Console.IsOutputRedirected é true
, você pode emitir código de cor ANSI definindo DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
como 1
ou true
.
DOTNET_SYSTEM_DIAGNOSTICS
e variáveis relacionadas
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL
: quando1
outrue
, o formato padrão da ID de atividade é hierárquico.DOTNET_SYSTEM_RUNTIME_CACHING_TRACING
: em execuções de Depuração, o rastreamento pode ser habilitado quando essa opção étrue
.
DOTNET_DiagnosticPorts
Configura pontos de extremidade alternativos em que as ferramentas de diagnóstico podem se comunicar com o runtime do .NET. Confira a documentação da Porta de Diagnóstico para obter mais informações.
DOTNET_DefaultDiagnosticPortSuspend
Quando definida como 1, configura o runtime para ser pausado durante a inicialização e aguardar o comando Diagnostics IPC ResumeStartup da porta de diagnóstico especificada. Assume o padrão de 0. Confira a documentação da Porta de Diagnóstico para obter mais informações.
DOTNET_EnableDiagnostics
Quando definido como 0
, desabilita a depuração, a criação de perfil e outros diagnósticos por meio da Porta de diagnóstico e não pode ser substituído por outras configurações de diagnóstico. Assume o padrão de 1
.
DOTNET_EnableDiagnostics_IPC
A partir do .NET 8, quando definido como 0
, desabilita a Porta de diagnóstico e não pode ser substituído por outras configurações de diagnóstico. Assume o padrão de 1
.
DOTNET_EnableDiagnostics_Debugger
A partir do .NET 8, quando definido como 0
, desabilita a depuração e não pode ser substituído por outras configurações de diagnóstico. Assume o padrão de 1
.
DOTNET_EnableDiagnostics_Profiler
A partir do .NET 8, quando definido como 0
, desabilita a criação de perfil e não pode ser substituído por outras configurações de diagnóstico. Assume o padrão de 1
.
Variáveis EventPipe
Confira Variáveis de ambiente EventPipe para obter mais informações.
DOTNET_EnableEventPipe
: quando definida como1
, habilita o rastreamento via EventPipe.DOTNET_EventPipeOutputPath
: o caminho de saída em que o rastreamento será gravado.DOTNET_EventPipeOutputStreaming
: quando definida como1
, habilita o streaming para o arquivo de saída enquanto o aplicativo está em execução. Por padrão, as informações de rastreamento são acumuladas em um buffer circular e o conteúdo é gravado durante o desligamento do aplicativo.
Variáveis de ambiente do SDK e da CLI do .NET
DOTNET_ROOT
, DOTNET_ROOT(x86)
, DOTNET_ROOT_X86
, DOTNET_ROOT_X64
Especifica o local dos runtimes do .NET, quando eles não estão instalados no local padrão. O local padrão no Windows é C:\Program Files\dotnet
. O local padrão no macOS é /usr/local/share/dotnet
. O local padrão para os tempos de execução x64 em um sistema operacional arm64 está em uma subpasta x64 (portanto, C:\Program Files\dotnet\x64
no Windows e /usr/local/share/dotnet/x64
no macOS. O local padrão no Linux varia dependendo do método de distribuição e parcelamento. O local padrão no Ubuntu 22.04 é /usr/share/dotnet
(quando instalado a partir o packages.microsoft.com
) ou /usr/lib/dotnet
(quando instalado no feed do Jammy). Para saber mais, consulte os recursos a seguir:
- Solucionar problemas de falhas de inicialização do aplicativo
- Problema do GitHub dotnet/core#7699
- Problema do GitHub dotnet/runtime#79237
Essa variável de ambiente é usada somente ao executar aplicativos por meio de executáveis gerados (apphosts). DOTNET_ROOT(x86)
é usado quando um executável de 32 bits é executado em um sistema operacional de 64 bits. DOTNET_ROOT_X64
é usado ao executar um executável de 64 bits em um sistema operacional ARM64.
DOTNET_HOST_PATH
Especifica o caminho absoluto para um dotnet
host (dotnet.exe
no Windows, dotnet
no Linux e no macOS) que foi usado para iniciar o processo dotnet
em execução no momento. Isso é usado pelo SDK do .NET para ajudar as ferramentas executadas durante os comandos do SDK do .NET a garantir que usem o mesmo runtime dotnet
para todos os processos dotnet
filho criados durante o comando. As ferramentas e as tarefas do MSBuild no SDK que invocam binários por meio do host dotnet
devem honrar essa variável de ambiente para garantir uma experiência consistente.
As ferramentas que invocam dotnet
durante um comando do SDK devem usar o seguinte algoritmo para localizá-lo:
- se
DOTNET_HOST_PATH
estiver definido, use esse valor diretamente - caso contrário, confie em
dotnet
por meio dePATH
do sistema
Observação
DOTNET_HOST_PATH
não é uma solução geral para localizar o host dotnet
. Destina-se apenas a ser usado por ferramentas que são invocadas pelo SDK do .NET.
DOTNET_LAUNCH_PROFILE
O comando executar dotnet define essa variável para o perfil de inicialização selecionado.
Dado o seguinte arquivo launchSettings.json :
{
"profiles": {
"First": {
"commandName": "Project",
},
"Second": {
"commandName": "Project",
}
}
}
E o seguinte arquivo Program.cs :
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
Os seguintes cenários produzem a saída mostrada:
Perfil de inicialização especificado e existente
$ dotnet run --launch-profile First DOTNET_LAUNCH_PROFILE=First
Perfil de inicialização não especificado, primeiro selecionado
$ dotnet run DOTNET_LAUNCH_PROFILE=First
Perfil de inicialização especificado, mas não existe
$ dotnet run --launch-profile Third The launch profile "Third" could not be applied. A launch profile with the name 'Third' doesn't exist. DOTNET_LAUNCH_PROFILE=
Iniciar sem perfil
$ dotnet run --no-launch-profile DOTNET_LAUNCH_PROFILE=
NUGET_PACKAGES
A pasta de pacotes globais. Se não estiver definido, o padrão será ~/.nuget/packages
em Unix ou %userprofile%\.nuget\packages
no Windows.
DOTNET_SERVICING
Especifica o local do índice de manutenção a ser usado pelo host compartilhado ao carregar o runtime.
DOTNET_NOLOGO
Especifica se as mensagens de boas-vindas e de telemetria do .NET são exibidas na primeira execução. Defina como true
para silenciar essas mensagens (valores true
, 1
e yes
aceitos) ou defina como false
para permiti-las (valores false
, 0
ou no
aceitos). Se ela não for definida, o padrão será false
e as mensagens serão exibidas na primeira execução. Esse sinalizador não afeta a telemetria (veja DOTNET_CLI_TELEMETRY_OPTOUT
para recusar o envio de telemetria).
DOTNET_CLI_PERF_LOG
Especifica se os detalhes de desempenho sobre a sessão da CLI atual são registrados. Habilitado quando definido como 1
, true
ou yes
. Isso está desabilitado por padrão.
DOTNET_GENERATE_ASPNET_CERTIFICATE
Especifica se um certificado do ASP.NET Core deve ser gerado. O valor padrão é true
, mas pode ser substituído definindo essa variável de ambiente como 0
, false
ou no
.
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH
Especifica se as ferramentas globais devem ser adicionadas à variável de ambiente PATH
. O padrão é true
. Para não adicionar ferramentas globais ao caminho, defina como 0
, false
ou no
.
DOTNET_CLI_TELEMETRY_OPTOUT
Especifica se os dados sobre o uso de ferramentas .NET são coletados e enviados à Microsoft. Definido como true
para recusar o recurso de telemetria (os valores true
, 1
ou yes
são aceitos). Caso contrário, defina como false
para aceitar os recursos de telemetria (valores false
, 0
ou no
aceito). Se não estiver definido, o padrão será false
, e o recurso de telemetria estará ativo.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
Se DOTNET_SKIP_FIRST_TIME_EXPERIENCE
estiver definido como true
, NuGetFallbackFolder
não será expandido para o disco e uma mensagem de boas-vindas e um aviso de telemetria mais breves serão mostrados.
Observação
Essa variável de ambiente não tem mais suporte no .NET Core 3.0 e posterior.
Use DOTNET_NOLOGO
como uma substituição.
DOTNET_MULTILEVEL_LOOKUP
Especifica se o runtime, a estrutura compartilhada ou o SDK do .NET são resolvidos na localização global. Se não estiver definida, o padrão será 1 (true
lógico). Defina o valor como 0 (false
lógico) para que a resolução não ocorra por meio da localização global e para ter instalações isoladas do .NET. Para obter mais informações sobre a pesquisa de vários níveis, consulte Pesquisa SharedFX de vários níveis.
Observação
Essa variável de ambiente só se aplica a aplicativos direcionados ao .NET 6 e versões anteriores. do .NET 7 em diante, o .NET procura estruturas apenas em uma localização. Para obter mais informações, confira A pesquisa em vários níveis está desabilitada.
DOTNET_ROLL_FORWARD
Determina o comportamento de roll forward. Para saber mais, confira a opção --roll-forward
para o comando dotnet
.
DOTNET_ROLL_FORWARD_TO_PRERELEASE
Se definida como 1
(habilitada), habilita o roll forward de uma versão de lançamento para uma versão de pré-lançamento. Por padrão (0
– Desabilitado), quando uma versão de lançamento do runtime do .NET for solicitada, o roll forward vai considerar apenas as versões de lançamento instaladas.
Para saber mais, confira a opção --roll-forward
para o comando dotnet
DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
Desabilita o roll forward da versão secundária, se definido como 0
. Essa configuração foi substituída no .NET Core 3.0 por DOTNET_ROLL_FORWARD
. As novas configurações devem ser usadas.
DOTNET_CLI_FORCE_UTF8_ENCODING
Força o uso da codificação UTF-8 no console, mesmo para versões mais antigas de Windows 10 que não dão suporte total ao UTF-8. Para obter mais informações, confira SDK não altera mais a codificação do console após a conclusão.
DOTNET_CLI_UI_LANGUAGE
Define o idioma da interface do usuário da CLI usando um valor de localidade, como en-us
. Os valores com suporte são os mesmos do Visual Studio. Para obter mais informações, confira a seção sobre como alterar o idioma do instalador na documentação de instalação do Visual Studio. As regras do gerenciador de recursos do .NET se aplicam, portanto, você não precisa escolher uma correspondência exata, também é possível escolher descendentes na CultureInfo
árvore. Por exemplo, se você definir essa opção como fr-CA
, a CLI vai encontrar e usar as traduções de fr
. Se você a definir como um idioma sem suporte, a CLI retornará ao inglês.
DOTNET_DISABLE_GUI_ERRORS
Para executáveis gerados habilitados para GUI, essa opção desabilita o pop-up da caixa de diálogo, que normalmente é exibido para determinadas classes de erros. Ela só grava em stderr
e é encerrada nesses casos.
DOTNET_ADDITIONAL_DEPS
Equivalente à opção --additional-deps
da CLI.
DOTNET_RUNTIME_ID
Substitui o RID detectado.
DOTNET_SHARED_STORE
Local do "repositório compartilhado" para o qual a resolução do assembly retorna em alguns casos.
DOTNET_STARTUP_HOOKS
Lista de assemblies dos quais os ganchos de inicialização são carregados e executados.
DOTNET_BUNDLE_EXTRACT_BASE_DIR
Especifica um diretório ao qual um aplicativo de arquivo único é extraído antes de ser executado.
Para obter mais informações, confira executáveis de arquivo único.
DOTNET_CLI_HOME
Especifica o local em que os arquivos de suporte para comandos da CLI do .NET devem ser gravados. Por exemplo:
- Caminhos graváveis pelo usuário para pacotes de carga de trabalho, manifestos e outros dados de suporte.
- Arquivos sentinela/de bloqueio de primeira execução para aspectos das migrações de primeira execução e experiências de notificação da CLI do .NET.
- O local de instalação da ferramenta local padrão do .NET.
DOTNET_CLI_CONTEXT_*
DOTNET_CLI_CONTEXT_VERBOSE
: para habilitar um contexto detalhado, defina essa opção comotrue
.DOTNET_CLI_CONTEXT_ANSI_PASS_THRU
: para habilitar uma passagem ANSI, defina essa opção comotrue
.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE
Desabilita o download em segundo plano de manifestos de publicidade para cargas de trabalho. O padrão é false
– Não desabilitado. Se definida como true
, o download está desabilitado. Para saber mais, confira Manifestos de publicidade.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS
Especifica o número mínimo de horas entre downloads em segundo plano de manifestos de publicidade para cargas de trabalho. O padrão é 24
, que não é mais frequente do que uma vez por dia. Para saber mais, consulte Manifestos de publicidade.
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
Especifica se as ferramentas locais do SDK do .NET pesquisam arquivos de manifesto da ferramenta na pasta raiz no Windows. O padrão é false
.
COREHOST_TRACE
Controla o rastreamento de diagnóstico dos componentes de hospedagem, como dotnet.exe
, hostfxr
e hostpolicy
.
COREHOST_TRACE=[0/1]
– O padrão é0
– Rastreamento desabilitado. Se definida como1
, o rastreamento de diagnóstico está habilitado.COREHOST_TRACEFILE=<file path>
– Só entra em vigor quando o rastreamento está habilitado pela configuraçãoCOREHOST_TRACE=1
. Quando definida, as informações de rastreamento são gravadas no arquivo especificado. Caso contrário, as informações de rastreamento são gravadas emstderr
.COREHOST_TRACE_VERBOSITY=[1/2/3/4]
– O padrão é4
. A configuração é usada somente quando o rastreamento é habilitado por meio deCOREHOST_TRACE=1
.4
– Todas as informações de rastreamento são gravadas3
– Somente mensagens informativas, de aviso e de erro são gravadas2
– Somente mensagens de aviso e de erro são gravadas1
– Somente mensagens de erro são gravadas
A maneira típica de obter informações detalhadas de rastreamento sobre a inicialização do aplicativo é definir COREHOST_TRACE=1
e COREHOST_TRACEFILE=host_trace.txt
, depois executar o aplicativo. Um arquivo host_trace.txt
será criado no diretório atual com as informações detalhadas.
SuppressNETCoreSdkPreviewMessage
Se definida como true
, a invocação de dotnet
não produzirá um aviso quando um SDK de versão prévia estiver sendo usado.
Configurar o MSBuild na CLI do .NET
Para executar o MSBuild fora do processo, defina a variável de ambiente DOTNET_CLI_RUN_MSBUILD_OUTOFPROC
como 1
, true
ou yes
. Por padrão, o MSBuild será executado no processo. Para forçar o MSBuild a usar um processo de longa duração de nó de trabalho externo para a criação de projetos, defina DOTNET_CLI_USE_MSBUILDNOINPROCNODE
como 1
, true
ou yes
. Isso definirá a variável de ambiente MSBUILDNOINPROCNODE
como 1
, que é conhecido como MSBuild Server V1, pois o processo de entrada encaminha a maior parte do trabalho a ele.
DOTNET_MSBUILD_SDK_RESOLVER_*
Essas são substituições usadas para forçar as tarefas e os destinos do SDK resolvidos a serem provenientes de um determinado diretório base e relatar uma determinada versão ao MSBuild, que pode ser null
quando desconhecido. Um dos principais casos de uso para isso é testar tarefas e destinos do SDK sem implantá-los usando o SDK do .NET Core.
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR
: substitui o diretório do SDK do .NET.DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER
: substitui a versão do SDK do .NET.DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR
: substitui o caminho de diretório do dotnet.exe.
DOTNET_NEW_PREFERRED_LANG
Configura a linguagem de programação padrão do comando dotnet new
quando a opção -lang|--language
é omitida. O valor padrão é C#
. Os valores válidos são C#
, F#
ou VB
. Para obter mais informações, confira dotnet new.
Variáveis de ambiente dotnet watch
Para obter informações sobre as configurações dotnet watch
disponíveis como variáveis de ambiente, confira Variáveis de ambiente dotnet watch.