Partilhar via


Opções de configuração em tempo de execução para globalização

Modo invariante

  • Determina se uma aplicação .NET Core corre em modo invariante à globalização sem acesso a dados e comportamentos específicos da cultura.
  • Se omitir esta definição, a aplicação corre com acesso a dados culturais. Isso equivale a definir o valor como false.
  • Para mais informações, veja o modo invariante de globalização do .NET Core.
Nome da configuração Valores
runtimeconfig.json System.Globalization.Invariant false - acesso a dados culturais
true - executar em modo invariante
Propriedade MSBuild InvariantGlobalization false - acesso a dados culturais
true - executar em modo invariante
Variável de ambiente DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 0 - acesso a dados culturais
1 - executar em modo invariante

Examples

runtimeconfig.json ficheiro:

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

runtimeconfig.template.json arquivo:

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

Ficheiro do projeto:

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

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

</Project>

Intervalos de anos de época

Nome da configuração Valores
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false - verificações de alcance relaxadas
true - os overflow causam uma exceção
Variável de ambiente N/A N/A

Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.

Análise de datas japonesas

  • Determina se uma cadeia que contém "1" ou "Gannen" enquanto o ano analisa com sucesso ou se apenas "1" é suportada.
  • Se omitires esta definição, as cadeias que contêm "1" ou "Gannen" como ano são analisadas com sucesso. Isso equivale a definir o valor como false.
  • Para mais informações, consulte Representar datas em calendários com múltiplas eras.
Nome da configuração Valores
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false - "Gannen" ou "1" é suportado
true - apenas "1" é suportado
Variável de ambiente N/A N/A

Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.

Formato do ano japonês

  • Determina se o primeiro ano de uma era do calendário japonês está formatado como "Gannen" ou como um número.
  • Se omitir este cenário, o primeiro ano é formatado como "Gannen". Isso equivale a definir o valor como false.
  • Para mais informações, consulte Representar datas em calendários com múltiplas eras.
Nome da configuração Valores
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false - formato como "Gannen"
true - formato como número
Variável de ambiente N/A N/A

Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.

NLS

  • Determina se o .NET utiliza APIs de globalização de Suporte Nacional de Línguas (NLS) ou de Componentes Internacionais para Unicode (ICU) para aplicações Windows. O .NET 5 e versões posteriores usam por defeito APIs de globalização da ICU no Windows 10 May 2019 Update e versões posteriores.
  • Se omitires esta definição, o .NET usa por defeito APIs de globalização de ICUs. Isso equivale a definir o valor como false.
  • Para mais informações, consulte APIs de globalização que usam bibliotecas de ICU no Windows.
Nome da configuração Valores Introduzido
runtimeconfig.json System.Globalization.UseNls false - Utilizar APIs de globalização das ICUs
true - Utilizar APIs de globalização NLS
.NET 5
Variável de ambiente DOTNET_SYSTEM_GLOBALIZATION_USENLS false - Utilizar APIs de globalização das ICUs
true - Utilizar APIs de globalização NLS
.NET 5

Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.

Culturas pré-definidas

  • Configura se as aplicações podem criar culturas diferentes da cultura invariante quando o modo invariante à globalização está ativado.
  • Se omitir esta configuração, o .NET restringe a criação de culturas em modo invariante à globalização. Isso equivale a definir o valor como true.
  • Para obter mais informações, consulte Criação de cultura e mapeamento de casos no modo invariante de globalização.
Nome da configuração Valores Introduzido
runtimeconfig.json System.Globalization.PredefinedCulturesOnly true - No modo invariante à globalização, não permitir a criação de qualquer cultura exceto a cultura invariante.
false - Permitir a criação de qualquer cultura.
.NET 6
Propriedade MSBuild PredefinedCulturesOnly true - No modo invariante à globalização, não permitir a criação de qualquer cultura exceto a cultura invariante.
false - Permitir a criação de qualquer cultura.
.NET 6
Variável de ambiente DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY true - No modo invariante à globalização, não permitir a criação de qualquer cultura exceto a cultura invariante.
false - Permitir a criação de qualquer cultura.
.NET 6