Параметры конфигурации времени выполнения для глобализации

Invariant mode (Инвариантный режим)

  • Определяет, выполняется ли приложение .NET Core в инвариантном режиме глобализации без доступа к данным и поведению, зависящим от языка и региональных параметров.
  • Если этот параметр не задан, приложение будет работать с доступом к данным языка и региональных параметров. Это эквивалентно присвоению значения false.
  • Дополнительные сведения см. в статье Инвариантный режим глобализации .NET Core.
Имя настройки Values
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>

Era year ranges (Диапазоны лет эры)

Имя настройки Values
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false — нестрогие проверки диапазонов
true — исключение при переполнении
Переменная среды Неприменимо Неприменимо

Этот параметр конфигурации не имеет определенного свойства MSBuild. Однако вместо этого можно добавить RuntimeHostConfigurationOption элемент MSBuild. Используйте имя параметра runtimeconfig.json в качестве значения атрибутаInclude. Пример см. в свойствах MSBuild.

Japanese date parsing (Анализ дат на японском языке)

  • Определяет, успешно ли анализируется строка, содержащая "1" или "Ганнен" в качестве года, либо поддерживается только значение "1".
  • Если этот параметр не задан, строки, содержащие "1" или "Ганнен" в качестве года, будут успешно проанализированы. Это эквивалентно присвоению значения false.
  • Дополнительные сведения см. в разделе Представление дат в календарях с несколькими эрами.
Имя настройки Values
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false — поддерживается "Ганнен" или "1"
true — поддерживается только "1"
Переменная среды Неприменимо Неприменимо

Этот параметр конфигурации не имеет определенного свойства MSBuild. Однако вместо этого можно добавить RuntimeHostConfigurationOption элемент MSBuild. Используйте имя параметра runtimeconfig.json в качестве значения атрибутаInclude. Пример см. в свойствах MSBuild.

Japanese year format (Японский формат года)

  • Определяет, форматируется ли первый год японской календарной эры как "Ганнен" или как число.
  • Если этот параметр не задан, первый год форматируется, как "Ганнен". Это эквивалентно присвоению значения false.
  • Дополнительные сведения см. в разделе Представление дат в календарях с несколькими эрами.
Имя настройки Values
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false — формат в виде "Ганнен"
true — формат в виде числа
Переменная среды Неприменимо Неприменимо

Этот параметр конфигурации не имеет определенного свойства MSBuild. Однако вместо этого можно добавить RuntimeHostConfigurationOption элемент MSBuild. Используйте имя параметра runtimeconfig.json в качестве значения атрибутаInclude. Пример см. в свойствах MSBuild.

NLS

  • Определяет, использует ли .NET API глобализации для приложений Windows: National Language Support (NLS) и International Components for Unicode (ICU). .NET 5 и более поздних версий использует API глобализации ICU по умолчанию в обновлении Windows за 10 мая 2019 г. и более поздних версиях.
  • Если этот параметр не задан, .NET по умолчанию использует API глобализации ICU. Это эквивалентно присвоению значения false.
  • См. сведения об API глобализации, которые используют библиотеки ICU в Windows.
Имя настройки Values Введенный
runtimeconfig.json System.Globalization.UseNls false — использование API глобализации ICU
true — использование API глобализации NLS
.NET 5
Переменная среды DOTNET_SYSTEM_GLOBALIZATION_USENLS false — использование API глобализации ICU
true — использование API глобализации NLS
.NET 5

Этот параметр конфигурации не имеет определенного свойства MSBuild. Однако вместо этого можно добавить RuntimeHostConfigurationOption элемент MSBuild. Используйте имя параметра runtimeconfig.json в качестве значения атрибутаInclude. Пример см. в свойствах MSBuild.

Предопределенные языки и региональные параметры

Имя настройки Values Введенный
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