Laufzeitkonfigurationsoptionen für Globalisierung

Invarianter Modus

  • Bestimmt, ob eine .NET Core-App im invarianten Globalisierungsmodus ausgeführt wird, ohne Zugriff auf kulturspezifischen Daten und Verhalten zu haben.
  • Wenn Sie diese Einstellung weglassen, wird die App mit Zugriff auf die kulturellen Daten ausgeführt. Dies entspricht der Einstellung des Werts auf false.
  • Weitere Informationen finden sie unter invarianter Globalisierungsmodus in .NET Core.
Einstellungsname Werte
runtimeconfig.json System.Globalization.Invariant false – Zugriff auf kulturelle Daten
true – Ausführung im invarianten Modus
MSBuild-Eigenschaft InvariantGlobalization false – Zugriff auf kulturelle Daten
true – Ausführung im invarianten Modus
Umgebungsvariable DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 0 – Zugriff auf kulturelle Daten
1 – Ausführung im invarianten Modus

Beispiele

runtimeconfig.json-Datei:

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

runtimeconfig.template.json-Datei:

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

Projektdatei:

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

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

</Project>

Jahreszeitraumbereiche

Einstellungsname Werte
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false – gelockerte Bereichsüberprüfungen
true – Überschreitungen verursachen eine Ausnahme
Umgebungsvariable Nicht zutreffend

Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.

Japanische Datumsanalyse

  • Bestimmt, ob eine Zeichenfolge, die entweder „1“ oder „Gannen“ als Jahresangabe enthält, erfolgreich analysiert wird, oder ob nur „1“ unterstützt wird.
  • Wenn Sie diese Einstellung weglassen, werden Zeichenfolgen, die entweder „1“ oder „Gannen“ als Jahresangabe enthalten, erfolgreich analysiert. Dies entspricht der Einstellung des Werts auf false.
  • Weitere Informationen finden Sie unter Darstellen von Daten in Kalendern mit mehreren Zeiträumen.
Einstellungsname Werte
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false – „Gannen“ oder „1“ wird unterstützt
true – nur „1“ wird unterstützt
Umgebungsvariable Nicht zutreffend

Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.

Japanisches Jahresformat

  • Bestimmt, ob das erste Jahr eines japanischen Kalenderzeitraums als „Gannen“ oder als Zahl formatiert wird.
  • Wenn Sie diese Einstellung weglassen, wird das erste Jahr als „Gannen“ formatiert. Dies entspricht der Einstellung des Werts auf false.
  • Weitere Informationen finden Sie unter Darstellen von Daten in Kalendern mit mehreren Zeiträumen.
Einstellungsname Werte
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false – Formatierung als „Gannen“
true – Formatierung als Zahl
Umgebungsvariable Nicht zutreffend

Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.

NLS

  • Bestimmt, ob .NET für Windows-Apps die NLS-Globalisierungs-APIs (National Language Support, Unterstützung der nationalen Sprache) oder ICU-Globalisierungs-APIs (International Components for Unicode, internationale Komponenten für Unicode) verwendet. .NET 5 und höhere Versionen verwenden ICU-Globalisierungs-APIs standardmäßig unter dem Windows 10-Update vom Mai 2019 und höheren Versionen.
  • Wenn Sie diese Einstellung weglassen, verwendet .NET standardmäßig ICU-Globalisierungs-APIs. Dies entspricht der Einstellung des Werts auf false.
  • Weitere Informationen finden Sie unter Globalisierungs-APIs verwenden ICU-Bibliotheken unter Windows.
Einstellungsname Werte Eingeführt
runtimeconfig.json System.Globalization.UseNls false – Verwenden von ICU-Globalisierungs-APIs
true – Verwenden von NLS-Globalisierungs-APIs
.NET 5
Umgebungsvariable DOTNET_SYSTEM_GLOBALIZATION_USENLS false – Verwenden von ICU-Globalisierungs-APIs
true – Verwenden von NLS-Globalisierungs-APIs
.NET 5

Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.

Vordefinierte Kulturen

Einstellungsname Werte Eingeführt
runtimeconfig.json System.Globalization.PredefinedCulturesOnly true: Im globalisierungsinvarianten Modus ist die Erstellung einer anderen Kultur als der invarianten Kultur nicht zugelassen.
false: Die Erstellung einer beliebigen Kultur ist zugelassen.
.NET 6
MSBuild-Eigenschaft PredefinedCulturesOnly true: Im globalisierungsinvarianten Modus ist die Erstellung einer anderen Kultur als der invarianten Kultur nicht zugelassen.
false: Die Erstellung einer beliebigen Kultur ist zugelassen.
.NET 6
Umgebungsvariable DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY true: Im globalisierungsinvarianten Modus ist die Erstellung einer anderen Kultur als der invarianten Kultur nicht zugelassen.
false: Die Erstellung einer beliebigen Kultur ist zugelassen.
.NET 6