<Elemento useLegacyJit>
Determina se o Common Language Runtime usa o compilador JIT de 64 bits herdado para uma compilação just-in-time.
<configuration>
<runtime>
<useLegacyJit>
Syntax
<useLegacyJit enabled=0|1 />
O nome do elemento useLegacyJit
diferencia maiúsculas de minúsculas.
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Descrição |
---|---|
enabled |
Atributo obrigatório. Especifica se o tempo de execução usa o compilador JIT de 64 bits herdado. |
atributo habilitado
Valor | Descrição |
---|---|
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
Nenhum
Elementos pai
Elemento | Descrição |
---|---|
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. |
Comentários
Começando com .NET Framework 4.6, o Common Language Runtime usa um novo compilador de 64 bits para compilação JIT (Just-In-Time) 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. Ao definir o atributo enabled
do elemento <useLegacyJit>
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 elemento <useLegacyJit>
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 variável de ambiente
COMPLUS_useLegacyJit
como0
(use o novo compilador JIT de 64 bits) ou1
(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 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 valor
REG_DWORD
à chaveHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
ouHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
no Registro. O valor é chamadouseLegacyJit
. 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 à chave
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
afeta todos os aplicativos em execução no computador. Adicionar o valor à chaveHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
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 elemento<useLegacyJit>
a um arquivo de configuração substitui as configurações do Registro, se elas estiverem presentes.
Exemplo
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 de 64 bits herdado.
<?xml version ="1.0"?>
<configuration>
<runtime>
<useLegacyJit enabled="1" />
</runtime>
</configuration>