빈 환경 변수에 대한 지원
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)을 사용하여 환경 변수를 삭제하려면, 값 인수로 string.Empty
대신 null
을 전달하도록 코드를 변경합니다.
ProcessStartInfo.Environment 또는 ProcessStartInfo.EnvironmentVariables을 사용하여 환경 변수를 빈 값으로 설정하려면, 이러한 속성을 null
대신 string.Empty
로 설정하도록 코드를 변경합니다.
영향을 받는 API
.NET