Unterstützung leerer Umgebungsvariablen
Unterstützung wurde hinzugefügt, um es zu ermöglichen, eine Umgebungsvariablen mithilfe von Environment.SetEnvironmentVariable(String, String) auf eine leere Zeichenfolge festzulegen. Im Rahmen dieser Maßnahme wurde das Verhalten des Festlegens der Eigenschaften ProcessStartInfo.Environment und ProcessStartInfo.EnvironmentVariables geändert, um mit dem Verhalten von Environment.SetEnvironmentVariable(String, String) konsistent zu sein.
Vorheriges Verhalten
Bislang galt:
- Durch
Environment.SetEnvironmentVariable("TEST", string.Empty)
undEnvironment.SetEnvironmentVariable("TEST", null)
wurde die Umgebungsvariable gelöscht. - Durch
ProcessStartInfo.Environment["TEST"] = string.Empty
undProcessStartInfo.Environment["TEST"] = null
wurde die Umgebungsvariable im untergeordneten Prozess auf einen leeren Wert festgelegt.
Neues Verhalten
Ab .NET 9 gilt:
- Durch
Environment.SetEnvironmentVariable("TEST", string.Empty)
wird der Umgebungsvariablenwert auf einen leeren Wert festgelegt. Das Verhalten vonEnvironment.SetEnvironmentVariable("TEST", null)
bleibt unverändert (sprich: die Umgebungsvariable wird weiterhin gelöscht). - Durch
ProcessStartInfo.Environment["TEST"] = null
wird die Umgebungsvariable gelöscht. Das Verhalten vonProcessStartInfo.Environment["TEST"] = string.Empty
bleibt unverändert (sprich: die Umgebungsvariable wird weiterhin auf einen leeren Wert festgelegt).
Eingeführt in Version
.NET 9 Preview 6
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Vor dieser Änderung war es nicht möglich, eine Umgebungsvariable mithilfe von Environment.SetEnvironmentVariable(String, String) auf einen leeren Wert festzulegen, was auf allen unterstützten Plattformen ein gültiger Umgebungsvariablenwert ist.
Empfohlene Maßnahme
Wenn Sie eine Umgebungsvariable mithilfe von Environment.SetEnvironmentVariable(String, String)löschen möchten, ändern Sie Ihren Code, um null
anstelle von string.Empty
als Wertargument zu übergeben.
Wenn Sie die Umgebungsvariable mithilfe von ProcessStartInfo.Environment oder ProcessStartInfo.EnvironmentVariables auf einen leeren Wert festlegen möchten, ändern Sie Ihren Code so, dass diese Eigenschaften auf string.Empty
anstatt auf null
festgelegt werden.