세계화를 위한 런타임 구성 옵션

고정 모드

  • .NET Core 앱이 문화권별 데이터와 동작에 액세스하지 않고 세계화 고정 모드에서 실행되는지 여부를 결정합니다.
  • 이 설정을 생략하면 앱이 문화권 데이터에 액세스할 수 있는 상태로 실행됩니다. 이는 값을 false으로 설정하는 것과 같습니다.
  • 자세한 내용은 .NET Core globalization invariant mode(.NET Core 세계화 고정 모드)를 참조하세요.
설정 이름
runtimeconfig.json System.Globalization.Invariant false - 문화권 데이터에 액세스
true - 고정 모드에서 실행
MSBuild 속성 InvariantGlobalization false - 문화권 데이터에 액세스
true - 고정 모드에서 실행
환경 변수 DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 0 - 문화권 데이터에 액세스
1 - 고정 모드에서 실행

예제

runtimeconfig.json 파일:

{
   "runtimeOptions": {
      "configProperties": {
         "System.Globalization.Invariant": true
      }
   }
}

runtimeconfig.template.json 파일:

{
   "configProperties": {
      "System.Globalization.Invariant": true
   }
}

프로젝트 파일:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <InvariantGlobalization>true</InvariantGlobalization>
  </PropertyGroup>

</Project>

연대 연도 범위

  • 여러 연대를 지원하는 달력의 범위 검사가 완화적인지 아니면 특정 연대의 날짜 범위를 오버플로하는 날짜는 ArgumentOutOfRangeException을 throw하는지를 결정합니다.
  • 이 설정을 생략하면 범위 검사가 완화됩니다. 이는 값을 false으로 설정하는 것과 같습니다.
  • 자세한 내용은 달력, 연대 및 날짜 범위: 완화 범위 검사를 참조하세요.
설정 이름
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false - 완화 범위 검사
true - 오버플로 시 예외 발생
환경 변수 해당 없음 해당 없음

이 구성 설정에는 특정 MSBuild 속성이 없습니다. 그러나 RuntimeHostConfigurationOption MSBuild 항목을 대신 추가할 수 있습니다. runtimeconfig.json 설정 이름을 Include 특성 값으로 사용합니다. 예를 들어 msBuild 속성을 참조하세요.

일본 날짜 구문 분석

  • 연도로 “1” 또는 “Gannen”을 포함하는 문자열이 성공적으로 구문 분석되는지 아니면 “1”만 지원되는지를 결정합니다.
  • 이 설정을 생략하면 "1" 또는 "Gannen"를 연도로 포함하는 문자열이 성공적으로 구문 분석됩니다. 이는 값을 false으로 설정하는 것과 같습니다.
  • 자세한 내용은 달력의 날짜를 여러 연대로 표현을 참조하세요.
설정 이름
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false - “Gannen” 또는 “1”이 지원됨
true - “1”만 지원됨
환경 변수 해당 없음 해당 없음

이 구성 설정에는 특정 MSBuild 속성이 없습니다. 그러나 RuntimeHostConfigurationOption MSBuild 항목을 대신 추가할 수 있습니다. runtimeconfig.json 설정 이름을 Include 특성 값으로 사용합니다. 예를 들어 msBuild 속성을 참조하세요.

일본 연도 형식

  • 일본 달력 연대의 첫해의 형식이 “Gannen”으로 지정되는지 아니면 숫자로 지정되는지를 결정합니다.
  • 이 설정을 생략하면 첫 번째 연도가 "Gannen"으로 서식 지정됩니다. 이는 값을 false으로 설정하는 것과 같습니다.
  • 자세한 내용은 달력의 날짜를 여러 연대로 표현을 참조하세요.
설정 이름
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false - “Gannen”으로 형식 지정
true - 숫자로 형식 지정
환경 변수 해당 없음 해당 없음

이 구성 설정에는 특정 MSBuild 속성이 없습니다. 그러나 RuntimeHostConfigurationOption MSBuild 항목을 대신 추가할 수 있습니다. runtimeconfig.json 설정 이름을 Include 특성 값으로 사용합니다. 예를 들어 msBuild 속성을 참조하세요.

NLS

  • .NET에서 Windows 앱에 NLS(국가별 언어 지원) 또는 ICU(International Components for Unicode) 세계화 API를 사용하는지 여부를 결정합니다. .NET 5 이상 버전에서는 기본적으로 Windows 10 2019년 5월 업데이트 이상 버전에 ICU 세계화 API를 사용합니다.
  • 이 설정을 생략하면 .NET는 기본적으로 ICU 세계화 API를 사용합니다. 이는 값을 false으로 설정하는 것과 같습니다.
  • 자세한 내용은 Windows에서 세계화 API가 ICU 라이브러리를 사용을 참조하세요.
설정 이름 도입
runtimeconfig.json System.Globalization.UseNls false - ICU 세계화 API를 사용
true - NLS 세계화 API를 사용
.NET 5
환경 변수 DOTNET_SYSTEM_GLOBALIZATION_USENLS false - ICU 세계화 API를 사용
true - NLS 세계화 API를 사용
.NET 5

이 구성 설정에는 특정 MSBuild 속성이 없습니다. 그러나 RuntimeHostConfigurationOption MSBuild 항목을 대신 추가할 수 있습니다. runtimeconfig.json 설정 이름을 Include 특성 값으로 사용합니다. 예를 들어 msBuild 속성을 참조하세요.

미리 정의된 문화권

설정 이름 도입
runtimeconfig.json System.Globalization.PredefinedCulturesOnly true - 세계화 고정 모드에서 고정 문화권 이외의 문화권 만들기를 허용하지 않습니다.
false - 모든 문화권 만들기를 허용합니다.
.NET 6
MSBuild 속성 PredefinedCulturesOnly true - 세계화 고정 모드에서 고정 문화권 이외의 문화권 만들기를 허용하지 않습니다.
false - 모든 문화권 만들기를 허용합니다.
.NET 6
환경 변수 DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY true - 세계화 고정 모드에서 고정 문화권 이외의 문화권 만들기를 허용하지 않습니다.
false - 모든 문화권 만들기를 허용합니다.
.NET 6