<useLegacyJit>-Element
Legt fest, ob die Runtime den 64-Bit-JIT-Legacycompiler für die Just-in-Time-Kompilierung verwendet.
<configuration>
<runtime>
<useLegacyJit>
Syntax
<useLegacyJit enabled=0|1 />
Bei dem Elementnamen useLegacyJit
wird die Groß-/Kleinschreibung beachtet.
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
attribute | Beschreibung |
---|---|
enabled |
Erforderliches Attribut. Gibt an, ob die Runtime den älteren 64-Biz-JIT-Compiler verwendet. |
enabled-Attribut
Wert | Beschreibung |
---|---|
0 | Die Common Language Runtime verwendet den neuen 64-Bit-JIT-Compiler, der in .NET Framework 4.6 und höheren Versionen enthalten ist. |
1 | Die Common Language Runtime verwendet den älteren 64-Bit-JIT-Compiler. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
configuration |
Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei. |
runtime |
Enthält Informationen über Laufzeitinitialisierungsoptionen. |
Bemerkungen
Ab .NET Framework 4.6 verwendet die Common Language Runtime standardmäßig einen neuen 64-Bit-Compiler für die Just-In-Time-Kompilierung (JIT). In einigen Fällen kann dies zu einem Unterschied im Verhalten von Anwendungscode führen, der von der vorherigen Version des 64-Bit-JIT-Compilers kompiliert wurde. Indem Sie das enabled
-Attribut des <useLegacyJit>
-Elements auf 1
festlegen, können Sie den neuen 64-Bit-JIT-Compiler deaktivieren und ihre App stattdessen mit dem älteren 64-Bit-JIT-Compiler kompilieren.
Hinweis
Das <useLegacyJit>
-Element wirkt sich nur auf die 64-Bit-JIT-Kompilierung aus. Die Kompilierung mit dem 32-Bit-JIT-Compiler ist nicht betroffen.
Statt eine Konfigurationsdateieinstellung zu verwenden, können Sie den älteren 64-Bit-JIT-Compiler auf zwei andere Arten aktivieren:
Festlegen einer Umgebungsvariablen
Legen Sie die
COMPLUS_useLegacyJit
-Umgebungsvariable entweder auf0
(verwenden Sie den neuen 64-Bit-JIT-Compiler) oder auf1
(verwenden Sie den älteren 64-Bit-JIT-Compiler) fest:COMPLUS_useLegacyJit=0|1
Die Umgebungsvariable verfügt über einen globalen Bereich, was bedeutet, dass sie sich auf alle Anwendungen auswirkt, die auf dem Computer ausgeführt werden. Wenn diese Einstellung festgelegt ist, kann sie durch die Einstellung in der Anwendungskonfigurationsdatei außer Kraft gesetzt werden. Beim Namen der Umgebungsvariablen muss die Groß-/Kleinschreibung nicht beachtet werden.
Hinzufügen eines Registrierungsschlüssels
Sie können den älteren 64-Bit-JIT-Compiler aktivieren, indem Sie dem Registrierungsschlüssel
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
oderHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
einenREG_DWORD
-Wert hinzufügen. Der Wert wird alsuseLegacyJit
bezeichnet. Wenn der Wert 0 ist, wird der neue Compiler verwendet. Wenn der Wert 1 ist, ist der ältere 64-Bit-JIT-Compiler aktiviert. Beim Namen des Registrierungswerts wird die Groß-/Kleinschreibung nicht beachtet.Das Hinzufügen des Werts zum
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
-Schlüssel wirkt sich auf alle Apps aus, die auf dem Computer ausgeführt werden. Das Hinzufügen des Werts zumHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
-Schlüssel wirkt sich auf alle Apps aus, die vom aktuellen Benutzer bzw. der aktuellen Benutzerin ausgeführt werden. Wenn ein Computer mit mehreren Benutzerkonten konfiguriert ist, sind nur Apps betroffen, die vom dieser Person ausgeführt werden, es sei denn, der Wert wird auch den Registrierungsschlüsseln für andere Benutzer*innen hinzugefügt. Das Hinzufügen des<useLegacyJit>
-Elements zu einer Konfigurationsdatei setzt die Registrierungseinstellungen außer Kraft, sofern sie vorhanden sind.
Beispiel
Die folgende Konfigurationsdatei deaktiviert die Kompilierung mit dem neuen 64-Bit-JIT-Compiler und verwendet stattdessen den älteren 64-Bit-JIT-Compiler.
<?xml version ="1.0"?>
<configuration>
<runtime>
<useLegacyJit enabled="1" />
</runtime>
</configuration>