<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 su0
(usare il nuovo compilatore JIT a 64 bit) o1
(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 allaHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
chiave oHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
nel Registro di sistema. Il valore è denominatouseLegacyJit
. 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 delHKEY_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>