Environment.SetEnvironmentVariable(String, String)을 사용하여 환경 변수를 빈 문자열로 설정할 수 있도록 지원이 추가되었습니다. 이 작업의 일환으로 ProcessStartInfo.Environment 및 ProcessStartInfo.EnvironmentVariables 속성을 설정하는 동작은 Environment.SetEnvironmentVariable(String, String)의 동작과 일치하도록 변경되었습니다.
이전 동작
이전에
-
Environment.SetEnvironmentVariable("TEST", string.Empty)및Environment.SetEnvironmentVariable("TEST", null)은 둘 다 환경 변수를 삭제했습니다. -
ProcessStartInfo.Environment["TEST"] = string.Empty및ProcessStartInfo.Environment["TEST"] = null은 둘 다 자식 프로세스의 환경 변수를 빈 값으로 설정했습니다.
새 동작
.NET 9 이후로
-
Environment.SetEnvironmentVariable("TEST", string.Empty)는 환경 변수 값을 빈 값으로 설정합니다.Environment.SetEnvironmentVariable("TEST", null)의 동작은 변경되지 않습니다. 즉, 여전히 환경 변수를 삭제합니다. -
ProcessStartInfo.Environment["TEST"] = null은 환경 변수를 삭제합니다.ProcessStartInfo.Environment["TEST"] = string.Empty의 동작은 변경되지 않습니다. 즉, 여전히 환경 변수를 빈 값으로 설정합니다.
도입된 버전
.NET 9 미리 보기 6
호환성이 손상되는 변경의 형식
이 변경 사항은 동작 변경입니다.
변경 이유
이 변경 전에는, 지원되는 모든 플랫폼에서 유효한 환경 변수 값에 해당하는 빈 값으로 환경 변수를 설정하는 데 Environment.SetEnvironmentVariable(String, String)을 사용할 수 없었습니다.
권장 작업
Environment.SetEnvironmentVariable(String, String)을 사용하여 환경 변수를 삭제하려면, 값 인수로 null 대신 string.Empty을 전달하도록 코드를 변경합니다.
ProcessStartInfo.Environment 또는 ProcessStartInfo.EnvironmentVariables을 사용하여 환경 변수를 빈 값으로 설정하려면, 이러한 속성을 string.Empty 대신 null로 설정하도록 코드를 변경합니다.
영향을 받는 API
.NET