Opzioni di configurazione del runtime per la globalizzazione

Modalità invariante

  • Determina se un'app .NET Core viene eseguita in modalità invariante per la globalizzazione senza accesso a dati e comportamenti specifici delle impostazioni cultura.
  • Se si omette questa impostazione, l'app viene eseguita con accesso ai dati culturali. Equivale a impostare il valore su false.
  • Per altre informazioni, vedere Modalità invariante per la globalizzazione di .NET Core.
Nome impostazione Valori
runtimeconfig.json System.Globalization.Invariant false: accesso ai dati culturali
true: esecuzione in modalità invariante
Proprietà MSBuild InvariantGlobalization false: accesso ai dati culturali
true: esecuzione in modalità invariante
Variabile di ambiente DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 0: accesso ai dati culturali
1: esecuzione in modalità invariante

Esempi

File runtimeconfig.json:

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

File runtimeconfig.template.json:

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

File di progetto:

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

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

</Project>

Intervalli di anni dell'era

Nome impostazione Valori
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false: controlli di intervallo poco rigorosi
true: gli overflow causano un'eccezione
Variabile di ambiente N/D N/D

Questa impostazione di configurazione non ha una proprietà MSBuild specifica. È tuttavia possibile aggiungere un elemento MSBuild RuntimeHostConfigurationOption in alternativa. Usare il nome dell'impostazione runtimeconfig.json come valore dell'attributo Include. Per un esempio, vedere Proprietà di MSBuild.

Analisi di una data giapponese

  • Determina se una stringa che contiene "1" o "Gannen" come anno viene analizzata correttamente o se è supportato solo "1".
  • Se si omette questa impostazione, le stringhe che contengono "1" o "Gannen" come anno vengono analizzate correttamente. Equivale a impostare il valore su false.
  • Per altre informazioni, vedere Rappresentare le date nei calendari con più ere.
Nome impostazione Valori
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false: è supportato "Gannen" o "1"
true: è supportato solo "1"
Variabile di ambiente N/D N/D

Questa impostazione di configurazione non ha una proprietà MSBuild specifica. È tuttavia possibile aggiungere un elemento MSBuild RuntimeHostConfigurationOption in alternativa. Usare il nome dell'impostazione runtimeconfig.json come valore dell'attributo Include. Per un esempio, vedere Proprietà di MSBuild.

Formato anno giapponese

  • Determina se il primo anno di un'era del calendario giapponese è formattato come "Gannen" o come numero.
  • Se si omette questa impostazione, il primo anno viene formattato come "Gannen". Equivale a impostare il valore su false.
  • Per altre informazioni, vedere Rappresentare le date nei calendari con più ere.
Nome impostazione Valori
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false: formattato come "Gannen"
true: formattato come numero
Variabile di ambiente N/D N/D

Questa impostazione di configurazione non ha una proprietà MSBuild specifica. È tuttavia possibile aggiungere un elemento MSBuild RuntimeHostConfigurationOption in alternativa. Usare il nome dell'impostazione runtimeconfig.json come valore dell'attributo Include. Per un esempio, vedere Proprietà di MSBuild.

NLS

  • Determina se .NET usa API per la globalizzazione NLS (National Language Support) o ICU (International Components for Unicode) per le app Windows. .NET 5 e versioni successive usano le API per la globalizzazione ICU per impostazione predefinita in Aggiornamento di Windows 10 (maggio 2019) e versioni successive.
  • Se si omette questa impostazione, .NET usa le API per la globalizzazione ICU per impostazione predefinita. Equivale a impostare il valore su false.
  • Per altre informazioni, vedere Le API per la globalizzazione usano librerie ICU in Windows.
Nome impostazione Valori Presentazione
runtimeconfig.json System.Globalization.UseNls false: usare le API per la globalizzazione ICU
true: usare le API per la globalizzazione NLS
.NET 5
Variabile di ambiente DOTNET_SYSTEM_GLOBALIZATION_USENLS false: usare le API per la globalizzazione ICU
true: usare le API per la globalizzazione NLS
.NET 5

Questa impostazione di configurazione non ha una proprietà MSBuild specifica. È tuttavia possibile aggiungere un elemento MSBuild RuntimeHostConfigurationOption in alternativa. Usare il nome dell'impostazione runtimeconfig.json come valore dell'attributo Include. Per un esempio, vedere Proprietà di MSBuild.

Impostazioni cultura predefinite

Nome impostazione Valori Presentazione
runtimeconfig.json System.Globalization.PredefinedCulturesOnly true: in modalità invariante per la globalizzazione, non consente la creazione di impostazioni cultura ad eccezione delle impostazioni cultura inglese non dipendenti da paese/area geografica.
false: consente la creazione di impostazioni cultura di qualsiasi tipo.
.NET 6
Proprietà MSBuild PredefinedCulturesOnly true: in modalità invariante per la globalizzazione, non consente la creazione di impostazioni cultura ad eccezione delle impostazioni cultura inglese non dipendenti da paese/area geografica.
false: consente la creazione di impostazioni cultura di qualsiasi tipo.
.NET 6
Variabile di ambiente DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY true: in modalità invariante per la globalizzazione, non consente la creazione di impostazioni cultura ad eccezione delle impostazioni cultura inglese non dipendenti da paese/area geografica.
false: consente la creazione di impostazioni cultura di qualsiasi tipo.
.NET 6