Opcje konfiguracji środowiska uruchomieniowego dla globalizacji

Niezmienny tryb

  • Określa, czy aplikacja .NET Core działa w trybie niezmiennym globalizacji bez dostępu do danych i zachowań specyficznych dla kultury.
  • Jeśli to ustawienie zostanie pominięte, aplikacja będzie działać z dostępem do danych kulturowych. Jest to równoważne ustawieniu wartości na false.
  • Aby uzyskać więcej informacji, zobacz Tryb niezmienny globalizacji platformy .NET Core.
Nazwa ustawienia Wartości
runtimeconfig.json System.Globalization.Invariant false - dostęp do danych kulturowych
true - uruchamianie w trybie niezmiennym
Właściwość MSBuild InvariantGlobalization false - dostęp do danych kulturowych
true - uruchamianie w trybie niezmiennym
Zmienna środowiskowa DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 0 - dostęp do danych kulturowych
1 - uruchamianie w trybie niezmiennym

Przykłady

Plik runtimeconfig.json :

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

plik runtimeconfig.template.json :

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

Plik projektu:

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

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

</Project>

Zakresy lat ery

  • Określa, czy sprawdzanie zakresu kalendarzy obsługujących wiele epok jest złagodzone, czy też daty, które przepełniają zakres dat epoki, zgłaszają wartość ArgumentOutOfRangeException.
  • Jeśli to ustawienie zostanie pominięte, kontrole zakresu zostaną złagodzone. Jest to równoważne ustawieniu wartości na false.
  • Aby uzyskać więcej informacji, zobacz Kalendarze, era i zakresy dat: Luźne kontrole zakresu.
Nazwa ustawienia Wartości
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false - zrelaksowane kontrole zakresów
true - przepełnienie powoduje wyjątek
Zmienna środowiskowa Brak Brak

To ustawienie konfiguracji nie ma określonej właściwości MSBuild. Można jednak dodać RuntimeHostConfigurationOption element MSBuild. Użyj nazwy ustawienia runtimeconfig.json jako wartości atrybutuInclude. Aby zapoznać się z przykładem, zobacz Właściwości programu MSBuild.

Analizowanie dat japońskich

  • Określa, czy ciąg zawierający ciąg "1" lub "Gannen" jako rok analizuje się pomyślnie, czy tylko "1" jest obsługiwany.
  • Jeśli pominiesz to ustawienie, ciągi zawierające ciągi "1" lub "Gannen" jako rok będą analizować pomyślnie. Jest to równoważne ustawieniu wartości na false.
  • Aby uzyskać więcej informacji, zobacz Reprezentacja dat w kalendarzach z wieloma epokami.
Nazwa ustawienia Wartości
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false - Obsługiwane są "Gannen" lub "1"
true — obsługiwane jest tylko "1"
Zmienna środowiskowa Brak Brak

To ustawienie konfiguracji nie ma określonej właściwości MSBuild. Można jednak dodać RuntimeHostConfigurationOption element MSBuild. Użyj nazwy ustawienia runtimeconfig.json jako wartości atrybutuInclude. Aby zapoznać się z przykładem, zobacz Właściwości programu MSBuild.

Format roku japońskiego

  • Określa, czy pierwszy rok ery kalendarza japońskiego jest sformatowany jako "Gannen", czy jako liczba.
  • Jeśli to ustawienie zostanie pominięte, pierwszy rok zostanie sformatowany jako "Gannen". Jest to równoważne ustawieniu wartości na false.
  • Aby uzyskać więcej informacji, zobacz Reprezentacja dat w kalendarzach z wieloma epokami.
Nazwa ustawienia Wartości
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false - format jako "Gannen"
true - formatuj jako liczbę
Zmienna środowiskowa Brak Brak

To ustawienie konfiguracji nie ma określonej właściwości MSBuild. Można jednak dodać RuntimeHostConfigurationOption element MSBuild. Użyj nazwy ustawienia runtimeconfig.json jako wartości atrybutuInclude. Aby zapoznać się z przykładem, zobacz Właściwości programu MSBuild.

NLS

  • Określa, czy platforma .NET używa interfejsów API globalizacji międzynarodowych (NLS) lub międzynarodowych składników dla interfejsów API globalizacji Unicode (ICU) dla aplikacji systemu Windows. Platforma .NET 5 i nowsze wersje domyślnie używają interfejsów API globalizacji ICU w Aktualizacja systemu Windows 10 z maja 2019 i nowszych wersjach.
  • Jeśli to ustawienie zostanie pominięte, platforma .NET domyślnie używa interfejsów API globalizacji ICU. Jest to równoważne ustawieniu wartości na false.
  • Aby uzyskać więcej informacji, zobacz Interfejsy API globalizacji używają bibliotek ICU w systemie Windows.
Nazwa ustawienia Wartości Wprowadzono
runtimeconfig.json System.Globalization.UseNls false — Korzystanie z interfejsów API globalizacji ICU
true — Korzystanie z interfejsów API globalizacji NLS
.NET 5
Zmienna środowiskowa DOTNET_SYSTEM_GLOBALIZATION_USENLS false — Korzystanie z interfejsów API globalizacji ICU
true — Korzystanie z interfejsów API globalizacji NLS
.NET 5

To ustawienie konfiguracji nie ma określonej właściwości MSBuild. Można jednak dodać RuntimeHostConfigurationOption element MSBuild. Użyj nazwy ustawienia runtimeconfig.json jako wartości atrybutuInclude. Aby zapoznać się z przykładem, zobacz Właściwości programu MSBuild.

Wstępnie zdefiniowane kultury

  • Określa, czy aplikacje mogą tworzyć kultury inne niż niezmienna kultura, gdy jest włączony tryb niezmienny globalizacji.
  • Jeśli to ustawienie zostanie pominięte, platforma .NET ogranicza tworzenie kultur w trybie niezmiennym globalizacji. Jest to równoważne ustawieniu wartości na true.
  • Aby uzyskać więcej informacji, zobacz Tworzenie kultury i mapowanie wielkości liter w trybie niezmiennym globalizacji.
Nazwa ustawienia Wartości Wprowadzono
runtimeconfig.json System.Globalization.PredefinedCulturesOnly true - W trybie niezmiennym globalizacji nie zezwalaj na tworzenie żadnej kultury, z wyjątkiem niezmiennej kultury.
false - Zezwalaj na tworzenie dowolnej kultury.
.NET 6
Właściwość MSBuild PredefinedCulturesOnly true - W trybie niezmiennym globalizacji nie zezwalaj na tworzenie żadnej kultury, z wyjątkiem niezmiennej kultury.
false - Zezwalaj na tworzenie dowolnej kultury.
.NET 6
Zmienna środowiskowa DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY true - W trybie niezmiennym globalizacji nie zezwalaj na tworzenie żadnej kultury, z wyjątkiem niezmiennej kultury.
false - Zezwalaj na tworzenie dowolnej kultury.
.NET 6