Condividi tramite


<Elemento useLegacyJit>

Determina se Common Language Runtime usa il compilatore JIT a 64 bit legacy per la compilazione JIT.

<Configurazione>
  <Runtime>
    <useLegacyJit>

Sintassi

<useLegacyJit enabled=0|1 />

Il nome useLegacyJit dell'elemento fa distinzione tra maiuscole e minuscole.

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
enabled Attributo obbligatorio.

Specifica se il runtime usa il compilatore JIT a 64 bit legacy.

Attributo abilitato

Valore Descrizione
0 Common Language Runtime usa il nuovo compilatore JIT a 64 bit incluso in .NET Framework 4.6 e versioni successive.
1 Common Language Runtime usa il compilatore JIT a 64 bit precedente.

Elementi figlio

Nessuno

Elementi padre

Elemento Descrizione
configuration Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework.
runtime Contiene informazioni sulle opzioni di inizializzazione in fase di esecuzione.

Commenti

A partire da .NET Framework 4.6, Common Language Runtime usa un nuovo compilatore a 64 bit per la compilazione JIT (Just-In-Time) per impostazione predefinita. In alcuni casi, ciò può comportare una differenza di comportamento rispetto al codice dell'applicazione compilato da JIT dalla versione precedente del compilatore JIT a 64 bit. Impostando l'attributo dell'elemento enabled<useLegacyJit> su 1, è possibile disabilitare il nuovo compilatore JIT a 64 bit e compilare l'app usando il compilatore JIT a 64 bit legacy.

Nota

L'elemento <useLegacyJit> influisce solo sulla compilazione JIT a 64 bit. La compilazione con il compilatore JIT a 32 bit non è interessata.

Invece di usare un'impostazione di file di configurazione, è possibile abilitare il compilatore JIT a 64 bit legacy in due altri modi:

  • Impostazione di una variabile di ambiente

    Impostare la COMPLUS_useLegacyJit variabile di ambiente su 0 (usare il nuovo compilatore JIT a 64 bit) o 1 (usare il compilatore JIT a 64 bit precedente):

    COMPLUS_useLegacyJit=0|1  
    

    La variabile di ambiente ha ambito globale, il che significa che influisce su tutte le applicazioni eseguite nel computer. Se impostato, può essere sottoposto a override dall'impostazione del file di configurazione dell'applicazione. Il nome della variabile di ambiente non fa distinzione tra maiuscole e minuscole.

  • Aggiunta di una chiave del Registro di sistema

    È possibile abilitare il compilatore JIT a 64 bit legacy aggiungendo un REG_DWORD valore alla HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework chiave o HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework nel Registro di sistema. Il valore è denominato useLegacyJit. Se il valore è 0, viene usato il nuovo compilatore. Se il valore è 1, il compilatore JIT a 64 bit legacy è abilitato. Il nome del valore del Registro di sistema non fa distinzione tra maiuscole e minuscole.

    L'aggiunta del HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework valore alla chiave influisce su tutte le app in esecuzione nel computer. L'aggiunta del HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework valore alla chiave influisce su tutte le app eseguite dall'utente corrente. Se un computer è configurato con più account utente, vengono interessate solo le app eseguite dall'utente corrente, a meno che il valore non venga aggiunto anche alle chiavi del Registro di sistema per altri utenti. L'aggiunta dell'elemento <useLegacyJit> a un file di configurazione sostituisce le impostazioni del Registro di sistema, se presenti.

Esempio

Il file di configurazione seguente disabilita la compilazione con il nuovo compilatore JIT a 64 bit e usa invece il compilatore JIT a 64 bit legacy.

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

Vedi anche