Compartilhar via


Opções de configuração de runtime para globalização

Modo invariável

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

Exemplos

Arquivo runtimeconfig.json:

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

Arquivo runtimeconfig.template.json:

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

Arquivo de projeto:

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

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

</Project>

Intervalos de ano de era

Nome da configuração Valores
runtimeconfig.json Switch.System.Globalization.EnforceJapaneseEraYearRanges false - verificações de intervalo descontraídas
true - estouros causam uma exceção
Variável de ambiente N/A N/A

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

Análise de data em japonês

  • Determina se uma cadeia de caracteres que contém "1" ou "Gannen" como o ano analisa com êxito ou se há suporte apenas para "1".
  • 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 é equivalente a definir o valor como false.
  • Para obter mais informações, consulte Representar datas em calendários com várias eras.
Nome da configuração Valores
runtimeconfig.json Switch.System.Globalization.EnforceLegacyJapaneseDateParsing false – Há suporte para "Gannen" ou "1"
true – há suporte apenas para "1"
Variável de ambiente N/A N/A

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

Formato de 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 é equivalente a definir o valor como false.
  • Para obter mais informações, consulte Representar datas em calendários com várias eras.
Nome da configuração Valores
runtimeconfig.json Switch.System.Globalization.FormatJapaneseFirstYearAsANumber false – formatar como "Gannen"
true - formatar como número
Variável de ambiente N/A N/A

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

NLS

  • Determina se o .NET usa o NLS (National Language Support) ou as APIs de globalização de Componentes Internacionais para Unicode (UTI) 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 é equivalente a definir o valor como false.
  • Para obter mais informações, consulte As APIs de Globalização usam bibliotecas de UTI no Windows.
Nome da configuração Valores Introduzida
runtimeconfig.json System.Globalization.UseNls false – Usar APIs de globalização da UTI
true - Usar APIs de globalização do NLS
.NET 5
Variável de ambiente DOTNET_SYSTEM_GLOBALIZATION_USENLS false – Usar APIs de globalização da UTI
true - Usar APIs de globalização do NLS
.NET 5

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

Culturas predefinidas

Nome da configuração Valores Introduzida
runtimeconfig.json System.Globalization.PredefinedCulturesOnly true - No modo invariável de globalização, não permita a criação de nenhuma cultura, exceto a cultura invariável.
false - Permitir a criação de qualquer cultura.
.NET 6
Propriedade do MSBuild PredefinedCulturesOnly true - No modo invariável de globalização, não permita a criação de nenhuma cultura, exceto a cultura invariável.
false - Permitir a criação de qualquer cultura.
.NET 6
Variável de ambiente DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY true - No modo invariável de globalização, não permita a criação de nenhuma cultura, exceto a cultura invariável.
false - Permitir a criação de qualquer cultura.
.NET 6