Compartilhar via


<useLegacyJit> Elemento

Determina se o common language runtime usa o compilador JIT herdado de 64 bits para compilação just-in-time.

<configuration>
  <runtime>
    <useLegacyJit>

Sintaxe

<useLegacyJit enabled=0|1 />

O nome useLegacyJit do elemento diferencia maiúsculas de minúsculas.

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Attributes

Attribute Description
enabled Atributo necessário.

Especifica se o runtime usa o compilador JIT herdado de 64 bits.

atributo habilitado

Value Description
0 O common language runtime usa o novo compilador JIT de 64 bits incluído no .NET Framework 4.6 e versões posteriores.
1 O common language runtime usa o compilador JIT de 64 bits mais antigo.

Elementos filho

None

Elementos pai

Elemento Description
configuration O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework.
runtime Contém informações sobre opções de inicialização do runtime.

Observações

A partir do .NET Framework 4.6, o common language runtime usa um novo compilador de 64 bits para compilação just-In-Time (JIT) por padrão. Em alguns casos, isso pode resultar em uma diferença no comportamento do código do aplicativo que foi compilado pelo JIT pela versão anterior do compilador JIT de 64 bits. Definindo o enabled atributo do <useLegacyJit> elemento como 1, você pode desabilitar o novo compilador JIT de 64 bits e, em vez disso, compilar seu aplicativo usando o compilador JIT herdado de 64 bits.

Observação

O <useLegacyJit> elemento afeta somente a compilação JIT de 64 bits. A compilação com o compilador JIT de 32 bits não é afetada.

Em vez de usar uma configuração de arquivo de configuração, você pode habilitar o compilador JIT herdado de 64 bits de duas outras maneiras:

  • Configurar uma variável de ambiente

    Defina a COMPLUS_useLegacyJit variável de ambiente como 0 (use o novo compilador JIT de 64 bits) ou 1 (use o compilador JIT de 64 bits mais antigo):

    COMPLUS_useLegacyJit=0|1
    

    A variável de ambiente tem escopo global, o que significa que ela afeta todos os aplicativos executados no computador. Se definido, ele pode ser substituído pela configuração do arquivo de configuração do aplicativo. O nome da variável de ambiente não diferencia maiúsculas de minúsculas.

  • Adicionando uma chave do Registro

    Você pode habilitar o compilador JIT herdado de 64 bits adicionando um REG_DWORD valor à chave ou HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework à HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework chave no Registro. O valor é nomeado useLegacyJit. Se o valor for 0, o novo compilador será usado. Se o valor for 1, o compilador JIT herdado de 64 bits estará habilitado. O nome do valor do Registro não diferencia maiúsculas de minúsculas.

    Adicionar o valor à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework chave afeta todos os aplicativos em execução no computador. Adicionar o valor à HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework chave afeta todos os aplicativos executados pelo usuário atual. Se um computador estiver configurado com várias contas de usuário, somente os aplicativos executados pelo usuário atual serão afetados, a menos que o valor seja adicionado às chaves do Registro para outros usuários também. Adicionar o <useLegacyJit> elemento a um arquivo de configuração substituirá as configurações do Registro, se elas estiverem presentes.

Example

O arquivo de configuração a seguir desabilita a compilação com o novo compilador JIT de 64 bits e, em vez disso, usa o compilador JIT herdado de 64 bits.

<?xml version ="1.0"?>
<configuration>
  <runtime>
    <useLegacyJit enabled="1" />
  </runtime>
</configuration>

Consulte também