Partilhar via


<utilizar o ElementoLegacyJit>

Determina se o runtime de linguagem comum utiliza o compilador JIT de 64 bits legado para compilação just-in-time.

<configuração>
  <runtime>
    <utilizarLegacyJit>

Syntax

<useLegacyJit enabled=0|1 />

O nome useLegacyJit do elemento é sensível a maiúsculas e minúsculas.

Atributos e elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais.

Atributos

Atributo Descrição
enabled Atributo obrigatório.

Especifica se o runtime utiliza o compilador JIT de 64 bits legado.

atributo ativado

Valor Descrição
0 O runtime de linguagem comum utiliza o novo compilador JIT de 64 bits incluído no .NET Framework 4.6 e versões posteriores.
1 O runtime de linguagem comum utiliza o compilador JIT de 64 bits mais antigo.

Elementos subordinados

Nenhuma

Elementos principais

Elemento Descrição
configuration O elemento raiz em todos os ficheiros de configuração utilizados pelo runtime de idioma comum e .NET Framework aplicações.
runtime Contém informações sobre as opções de inicialização do runtime.

Observações

A partir do .NET Framework 4.6, o runtime de linguagem comum utiliza um novo compilador de 64 bits para compilação Just-In-Time (JIT) por predefinição. Em alguns casos, isto pode resultar numa diferença no comportamento do código da aplicação que foi compilado pelo JIT pela versão anterior do compilador JIT de 64 bits. Ao definir o enabled atributo do <useLegacyJit> elemento como 1, pode desativar o novo compilador JIT de 64 bits e, em vez disso, compilar a sua aplicação com o compilador JIT legado de 64 bits.

Nota

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

Em vez de utilizar uma definição de ficheiro de configuração, pode ativar o compilador JIT legado de 64 bits de duas outras formas:

  • Definir uma variável de ambiente

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

    COMPLUS_useLegacyJit=0|1  
    

    A variável de ambiente tem um âmbito global, o que significa que afeta todas as aplicações executadas no computador. Se estiver definido, pode ser substituído pela definição de ficheiro de configuração da aplicação. O nome da variável de ambiente não é sensível a maiúsculas e minúsculas.

  • Adicionar uma chave de registo

    Pode ativar o compilador JIT de 64 bits legado ao adicionar um REG_DWORD valor à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework chave ou HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework no registo. O valor é denominado useLegacyJit. Se o valor for 0, será utilizado o novo compilador. Se o valor for 1, o compilador JIT legado de 64 bits está ativado. O nome do valor do registo não é sensível a maiúsculas e minúsculas.

    Adicionar o valor à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework chave afeta todas as aplicações em execução no computador. Adicionar o valor à HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework chave afeta todas as aplicações executadas pelo utilizador atual. Se um computador estiver configurado com várias contas de utilizador, apenas as aplicações executadas pelo utilizador atual são afetadas, a menos que o valor seja adicionado às chaves de registo para outros utilizadores também. Adicionar o <useLegacyJit> elemento a um ficheiro de configuração substitui as definições do registo, se estiverem presentes.

Exemplo

O seguinte ficheiro de configuração desativa a compilação com o novo compilador JIT de 64 bits e, em vez disso, utiliza o compilador JIT de 64 bits legado.

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

Ver também