Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Foi adicionado suporte para poder definir uma variável de ambiente para a cadeia de caracteres vazia usando Environment.SetEnvironmentVariable(String, String). Como parte desse trabalho, o comportamento de definir as propriedades ProcessStartInfo.Environment e ProcessStartInfo.EnvironmentVariables foi alterado para ser consistente com o de Environment.SetEnvironmentVariable(String, String).
Comportamento anterior
Anteriormente:
- Tanto
Environment.SetEnvironmentVariable("TEST", string.Empty)quantoEnvironment.SetEnvironmentVariable("TEST", null)excluiu a variável de ambiente. - Tanto
ProcessStartInfo.Environment["TEST"] = string.EmptyquantoProcessStartInfo.Environment["TEST"] = nulldefiniu a variável de ambiente no processo filho como um valor vazio.
Novo comportamento
A partir do .NET 9:
-
Environment.SetEnvironmentVariable("TEST", string.Empty)define o valor da variável de ambiente como um valor vazio. O comportamentoEnvironment.SetEnvironmentVariable("TEST", null)não é alterado, ou seja, ele ainda exclui a variável de ambiente. -
ProcessStartInfo.Environment["TEST"] = nullexclui a variável de ambiente. O comportamentoProcessStartInfo.Environment["TEST"] = string.Emptyé inalterado, ou seja, ainda define a variável de ambiente como um valor vazio.
Versão introduzida
.NET 9 Versão Prévia 6
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da alteração
Antes dessa alteração, não era possível usar Environment.SetEnvironmentVariable(String, String) para definir uma variável de ambiente como um valor vazio, que é um valor de variável de ambiente válido em todas as plataformas com suporte.
Ação recomendada
Para excluir uma variável de ambiente usando Environment.SetEnvironmentVariable(String, String), altere seu código para passar null em vez de string.Empty como o argumento de valor.
Para definir a variável de ambiente como um valor vazio usando ProcessStartInfo.Environment ou ProcessStartInfo.EnvironmentVariables, altere o código para definir essas propriedades como string.Empty em vez de null.