Obsługa pustych zmiennych środowiskowych
Dodano obsługę , aby można było ustawić zmienną środowiskową na pusty ciąg przy użyciu polecenia Environment.SetEnvironmentVariable(String, String). W ramach tej pracy zachowanie ustawienia ProcessStartInfo.Environment właściwości i ProcessStartInfo.EnvironmentVariables zostało zmienione tak, aby było zgodne z właściwościami .Environment.SetEnvironmentVariable(String, String)
Poprzednie zachowanie
Poprzednio:
- Zarówno
Environment.SetEnvironmentVariable("TEST", string.Empty)
, jak iEnvironment.SetEnvironmentVariable("TEST", null)
usunięto zmienną środowiskową. - Zarówno
ProcessStartInfo.Environment["TEST"] = string.Empty
, jak iProcessStartInfo.Environment["TEST"] = null
ustaw zmienną środowiskową w procesie podrzędnym na wartość pustą.
Nowe zachowanie
Począwszy od platformy .NET 9:
Environment.SetEnvironmentVariable("TEST", string.Empty)
Ustawia wartość zmiennej środowiskowej na wartość pustą.Environment.SetEnvironmentVariable("TEST", null)
zachowanie jest niezmienione, czyli nadal usuwa zmienną środowiskową.ProcessStartInfo.Environment["TEST"] = null
Usuwa zmienną środowiskową.ProcessStartInfo.Environment["TEST"] = string.Empty
zachowanie jest niezmienione, czyli nadal ustawia zmienną środowiskową na pustą wartość.
Wprowadzona wersja
.NET 9 (wersja zapoznawcza 6)
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
Przed tą zmianą nie można było ustawić Environment.SetEnvironmentVariable(String, String) zmiennej środowiskowej na pustą wartość, która jest prawidłową wartością zmiennej środowiskowej na wszystkich obsługiwanych platformach.
Zalecana akcja
Aby usunąć zmienną środowiskową przy użyciu polecenia Environment.SetEnvironmentVariable(String, String), zmień kod, aby został przekazany null
zamiast string.Empty
jako argument wartości.
Aby ustawić zmienną środowiskową na pustą wartość przy użyciu ProcessStartInfo.Environment polecenia lub ProcessStartInfo.EnvironmentVariables, zmień kod, aby ustawić te właściwości na string.Empty
wartość zamiast null
.