Udostępnij przez


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 ustawień 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 ustawień Wartości
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false - zrelaksowane kontrole zakresów
true - przepełnienie powoduje wyjątek
Zmienna środowiskowa N/A N/A

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 ustawień Wartości
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false - Obsługiwane są "Gannen" lub "1"
true — obsługiwane jest tylko "1"
Zmienna środowiskowa N/A N/A

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 ustawień Wartości
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false - format jako "Gannen"
true - formatuj jako liczbę
Zmienna środowiskowa N/A N/A

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 systemie Windows 10 maja 2019 Update 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 ustawień 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

Nazwa ustawień 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