Freigeben über


<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 auf 0 (verwenden Sie den neuen 64-Bit-JIT-Compiler) oder auf 1 (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 oder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework einen REG_DWORD-Wert hinzufügen. Der Wert wird als useLegacyJit 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 zum HKEY_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>  

Siehe auch