Supporto per le variabili di ambiente vuote
È stato aggiunto il supporto per poter impostare una variabile di ambiente sulla stringa vuota usando Environment.SetEnvironmentVariable(String, String). Nell’ambito di questa operazione, il comportamento dell’impostazione delle proprietà ProcessStartInfo.Environment e ProcessStartInfo.EnvironmentVariables è stato modificato in modo che sia coerente con quello di Environment.SetEnvironmentVariable(String, String).
Comportamento precedente
Precedentemente:
- Sia
Environment.SetEnvironmentVariable("TEST", string.Empty)
siaEnvironment.SetEnvironmentVariable("TEST", null)
eliminavano la variabile di ambiente. - Sia
ProcessStartInfo.Environment["TEST"] = string.Empty
siaProcessStartInfo.Environment["TEST"] = null
impostavano la variabile di ambiente nel processo figlio su un valore vuoto.
Nuovo comportamento
A partire da .NET 9:
Environment.SetEnvironmentVariable("TEST", string.Empty)
imposta il valore della variabile di ambiente su un valore vuoto. Il comportamento diEnvironment.SetEnvironmentVariable("TEST", null)
rimane invariato, ovvero elimina comunque la variabile di ambiente.ProcessStartInfo.Environment["TEST"] = null
elimina la variabile di ambiente. Il comportamento diProcessStartInfo.Environment["TEST"] = string.Empty
rimane invariato, ovvero imposta comunque la variabile di ambiente su un valore vuoto.
Versione introdotta
.NET 9 Anteprima 6
Tipo di modifica che causa un'interruzione
Questa è una modifica funzionale.
Motivo della modifica
Prima di questa modifica, non era possibile usare Environment.SetEnvironmentVariable(String, String) per impostare una variabile di ambiente su un valore vuoto, ovvero un valore di variabile di ambiente valido in tutte le piattaforme supportate.
Azione consigliata
Per eliminare una variabile di ambiente usando Environment.SetEnvironmentVariable(String, String), modificare il codice per passare null
anziché string.Empty
come argomento del valore.
Per impostare la variabile di ambiente su un valore vuoto usando ProcessStartInfo.Environment o ProcessStartInfo.EnvironmentVariables, modificare il codice per impostare queste proprietà su string.Empty
anziché su null
.