Partilhar via


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

Modo invariante

  • Determina se um aplicativo .NET Core é executado no modo invariante de globalização sem acesso a dados e comportamento específicos da cultura.
  • Se você omitir essa configuração, o aplicativo será executado com acesso a dados culturais. Isso equivale a definir o valor como false.
  • Para obter mais informações, consulte Modo invariante de globalização do .NET Core.
Nome da definição Valores
runtimeconfig.json System.Globalization.Invariant false - acesso aos dados culturais
true - executar em modo invariante
Propriedade MSBuild InvariantGlobalization false - acesso aos dados culturais
true - executar em modo invariante
Variável de ambiente DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 0 - acesso aos dados culturais
1 - executar em modo invariante

Exemplos

Arquivo runtimeconfig.json :

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

Arquivo runtimeconfig.template.json :

{
   "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 definição Valores
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false - Verificações de alcance relaxadas
true - os transbordamentos provocam 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 data japonesa

  • Determina se uma cadeia de caracteres que contém "1" ou "Gannen" como o ano analisa com êxito ou se apenas "1" é suportada.
  • Se você omitir essa configuração, as cadeias de caracteres que contêm "1" ou "Gannen" como o ano serão analisadas com êxito. Isso equivale a definir o valor como false.
  • Para obter mais informações, consulte Representar datas em calendários com várias eras.
Nome da definiçã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 é formatado como "Gannen" ou como um número.
  • Se você omitir essa configuração, o primeiro ano será formatado como "Gannen". Isso equivale a definir o valor como false.
  • Para obter mais informações, consulte Representar datas em calendários com várias eras.
Nome da definição Valores
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false - formato como "Gannen"
true - Formatar 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 usa o NLS (National Language Support) ou as APIs de globalização do International Components for Unicode (ICU) para aplicativos do Windows. O .NET 5 e versões posteriores usam APIs de globalização da UTI por padrão no Windows 10 May 2019 Update e versões posteriores.
  • Se você omitir essa configuração, o .NET usará APIs de globalização da UTI por padrão. Isso equivale a definir o valor como false.
  • Para obter mais informações, consulte APIs de globalização usam bibliotecas ICU no Windows.
Nome da definição Valores Introduzido
runtimeconfig.json System.Globalization.UseNls false - Use APIs de globalização de UTI
true - Use APIs de globalização NLS
.NET 5
Variável de ambiente DOTNET_SYSTEM_GLOBALIZATION_USENLS false - Use APIs de globalização de UTI
true - Use 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 predefinidas

  • Configura se os aplicativos podem criar culturas diferentes da cultura invariante quando o modo invariante de globalização está habilitado.
  • Se você omitir essa configuração, o .NET restringe a criação de culturas no modo invariante da 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 definição Valores Introduzido
runtimeconfig.json System.Globalization.PredefinedCulturesOnly true - No modo globalização-invariante, não permita 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 globalização-invariante, não permita 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 globalização-invariante, não permita a criação de qualquer cultura, exceto a cultura invariante.
false - Permitir a criação de qualquer cultura.
.NET 6