Udostępnij za pośrednictwem


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 i Environment.SetEnvironmentVariable("TEST", null) usunięto zmienną środowiskową.
  • Zarówno ProcessStartInfo.Environment["TEST"] = string.Empty , jak i ProcessStartInfo.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.

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.

Dotyczy interfejsów API