Partilhar via


<useLegacyJit> Elemento

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

<configuração>
   <tempo de execução>
     <useLegacyJit>

Sintaxe

<useLegacyJit enabled=0|1 />

O nome useLegacyJit do elemento distingue maiúsculas e minúsculas.

Atributos e elementos

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

Attributes

Attribute Description
enabled Atributo obrigatório.

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

atributo habilitado

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

Elementos filho

Nenhum

Elementos pai

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

Observações

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

Observação

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 usar uma configuração de ficheiro de configuração, pode ativar o compilador JIT legado de 64 bits de outras duas formas:

  • Definir uma variável de ambiente

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

    COMPLUS_useLegacyJit=0|1
    

    A variável ambiente tem âmbito global, o que significa que afeta todas as aplicações executadas na máquina. Se ativado, pode ser sobreposto pela configuração do ficheiro de configuração da aplicação. O nome da variável ambiente não distingue maiúsculas e maiúsculas.

  • Adicionar uma chave de registo

    Pode ativar o compilador JIT antigo de 64 bits adicionando um REG_DWORD valor à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework chave ou HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework no registo. O valor chama-se useLegacyJit. Se o valor for 0, o novo compilador é utilizado. Se o valor for 1, o compilador JIT legado de 64 bits fica ativado. O nome do valor do registo não distingue maiúsculas e minúsculas.

    Adicionar o valor à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework chave afeta todas as aplicações a correr na máquina. Adicionar valor à HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework chave afeta todas as aplicações executadas pelo utilizador atual. Se uma máquina estiver configurada com múltiplas contas de utilizador, apenas as aplicações executadas pelo utilizador atual são afetadas, a menos que o valor seja adicionado às chaves do registo para outros utilizadores também. Adicionar o <useLegacyJit> elemento a um ficheiro de configuração sobrepõe as definições do registo, se estiverem presentes.

Example

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

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

Consulte também