Dela via


Stöd för tomma miljövariabler

Stöd har lagts till för att kunna ange en miljövariabel till den tomma strängen med hjälp av Environment.SetEnvironmentVariable(String, String). Som en del av det här arbetet ändrades beteendet för att ange ProcessStartInfo.Environment egenskaperna och ProcessStartInfo.EnvironmentVariables så att de överensstämmer med egenskaperna för Environment.SetEnvironmentVariable(String, String).

Tidigare beteende

Tidigare:

  • Både Environment.SetEnvironmentVariable("TEST", string.Empty) och Environment.SetEnvironmentVariable("TEST", null) tog bort miljövariabeln.
  • Både ProcessStartInfo.Environment["TEST"] = string.Empty och ProcessStartInfo.Environment["TEST"] = null ange miljövariabeln i den underordnade processen till ett tomt värde.

Nytt beteende

Från och med .NET 9:

  • Environment.SetEnvironmentVariable("TEST", string.Empty) anger miljövariabelvärdet till ett tomt värde. Environment.SetEnvironmentVariable("TEST", null) beteendet är oförändrat, dvs. den tar fortfarande bort miljövariabeln.
  • ProcessStartInfo.Environment["TEST"] = null tar bort miljövariabeln. ProcessStartInfo.Environment["TEST"] = string.Empty beteendet är oförändrat, d.v.s. det ställer fortfarande in miljövariabeln till ett tomt värde.

Version introducerad

Förhandsversion 6 av .NET 9

Typ av icke-bakåtkompatibel ändring

Den här ändringen är en beteendeförändring.

Orsak till ändringen

Före den här ändringen gick det inte att använda Environment.SetEnvironmentVariable(String, String) för att ange en miljövariabel till ett tomt värde, vilket är ett giltigt miljövariabelvärde på alla plattformar som stöds.

Om du vill ta bort en miljövariabel med hjälp av Environment.SetEnvironmentVariable(String, String)ändrar du koden så att den skickas null i stället string.Empty för som värdeargument.

Om du vill ange miljövariabeln till ett tomt värde med eller ProcessStartInfo.EnvironmentProcessStartInfo.EnvironmentVariablesändrar du koden så att de här egenskaperna anges till string.Empty i stället för till null.

Berörda API:er