Partager via


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) et Environment.SetEnvironmentVariable("TEST", null) supprimaient tous les deux la variable d’environnement.
  • ProcessStartInfo.Environment["TEST"] = string.Empty et ProcessStartInfo.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 de Environment.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 de ProcessStartInfo.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.

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.

API affectées