Поделиться через


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

Инвариантный режим

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

Диапазоны годов эры

Название настройки Ценности
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false - расслабленные проверки диапазона
true - переполнение приводит к исключению
Переменная среды N/A N/A

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

Синтаксический анализ дат на японском языке

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

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

Формат японского года

Название настройки Ценности
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false — формат "Ганнен"
true — формат в виде числа
Переменная среды N/A N/A

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

NLS

  • Определяет, использует ли .NET национальный язык поддержки (NLS) или международные компоненты для API глобализации Юникода (ICU) для приложений Windows. В .NET 5 и более поздних версиях используются API глобализации ICU по умолчанию в обновлении Windows 10 мая 2019 г. и более поздних версий.
  • Если этот параметр не указан, .NET использует API глобализации ICU по умолчанию. Это эквивалентно присвоению значения false.
  • Дополнительные сведения см. в разделе API глобализации с помощью библиотек ICU в Windows.
Название настройки Ценности Введенный
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.

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

Название настройки Ценности Введенный
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