Prise en charge des variables d’environnement vides
La prise en charge a été ajoutée pour permettre la définition d’une variable d’environnement sur la chaîne vide en utilisant Environment.SetEnvironmentVariable(String, String). Dans le cadre de ce travail, le comportement de définition des propriétés ProcessStartInfo.Environment et ProcessStartInfo.EnvironmentVariables a été modifié pour être cohérent avec celui de Environment.SetEnvironmentVariable(String, String).
Comportement précédent
Auparavant :
Environment.SetEnvironmentVariable("TEST", string.Empty)
etEnvironment.SetEnvironmentVariable("TEST", null)
supprimaient tous les deux la variable d’environnement.ProcessStartInfo.Environment["TEST"] = string.Empty
etProcessStartInfo.Environment["TEST"] = null
définissaient tous les deux la variable d’environnement du processus enfant sur une valeur vide.
Nouveau comportement
À compter de .NET 9 :
Environment.SetEnvironmentVariable("TEST", string.Empty)
définit la valeur de la variable d’environnement sur une valeur vide. Le comportement deEnvironment.SetEnvironmentVariable("TEST", null)
est inchangé, c’est-à-dire qu’il supprime toujours la variable d’environnement.ProcessStartInfo.Environment["TEST"] = null
supprime la variable d’environnement. Le comportement deProcessStartInfo.Environment["TEST"] = string.Empty
est inchangé, c’est-à-dire qu’il définit toujours la variable d’environnement sur une valeur vide.
Version introduite
.NET 9 Preview 6
Type de changement cassant
Ce changement est un changement de comportement.
Raison du changement
Avant ce changement, il n’était pas possible d’utiliser Environment.SetEnvironmentVariable(String, String) pour définir une variable d’environnement sur une valeur vide, qui est une valeur de variable d’environnement valide sur toutes les plateformes prises en charge.
Action recommandée
Pour supprimer une variable d’environnement en utilisant Environment.SetEnvironmentVariable(String, String), modifiez votre code pour passer null
au lieu de string.Empty
comme argument de valeur.
Pour définir la variable d’environnement sur une valeur vide en utilisant ProcessStartInfo.Environment ou de ProcessStartInfo.EnvironmentVariables, modifiez votre code pour définir ces propriétés sur string.Empty
au lieu de null
.