Condividi tramite


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) sia Environment.SetEnvironmentVariable("TEST", null) eliminavano la variabile di ambiente.
  • Sia ProcessStartInfo.Environment["TEST"] = string.Empty sia ProcessStartInfo.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 di Environment.SetEnvironmentVariable("TEST", null) rimane invariato, ovvero elimina comunque la variabile di ambiente.
  • ProcessStartInfo.Environment["TEST"] = null elimina la variabile di ambiente. Il comportamento di ProcessStartInfo.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.

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.

API interessate