Suporte para variáveis de ambiente vazio
O suporte foi adicionado para poder definir uma variável de ambiente para a cadeia de caracteres vazia usando Environment.SetEnvironmentVariable(String, String). Como parte deste trabalho, o comportamento de definir as propriedades e ProcessStartInfo.EnvironmentVariables foi alterado para ser consistente com o ProcessStartInfo.Environment de Environment.SetEnvironmentVariable(String, String).
Comportamento anterior
Anteriormente:
- Ambos
Environment.SetEnvironmentVariable("TEST", string.Empty)
eEnvironment.SetEnvironmentVariable("TEST", null)
excluiu a variável de ambiente. - Ambos
ProcessStartInfo.Environment["TEST"] = string.Empty
eProcessStartInfo.Environment["TEST"] = null
definir a variável de ambiente no processo filho para 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.Environment.SetEnvironmentVariable("TEST", null)
O comportamento permanece inalterado, ou seja, ainda exclui a variável de ambiente.ProcessStartInfo.Environment["TEST"] = null
Exclui a variável de ambiente.ProcessStartInfo.Environment["TEST"] = string.Empty
O comportamento permanece inalterado, ou seja, ainda define a variável de ambiente como um valor vazio.
Versão introduzida
.NET 9 Visualização 6
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a 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 suportadas.
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 como o argumento value string.Empty
.
Para definir a variável de ambiente como um valor vazio usando ProcessStartInfo.Environment ou ProcessStartInfo.EnvironmentVariables, altere seu código para definir essas propriedades como em string.Empty
vez de null
.