Élément <useLegacyJit>

Détermine si le common language runtime utilise le compilateur JIT 64 bits hérité pour la compilation juste-à-temps.

<configuration>
  <runtime>
    <useLegacyJit>

Syntaxe

<useLegacyJit enabled=0|1 />

Le nom de l’élément useLegacyJit respecte la casse.

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
enabled Attribut requis.

Spécifie si le runtime utilise le compilateur JIT 64 bits hérité.

attribut activé

Valeur Description
0 Le Common Language Runtime utilise le nouveau compilateur JIT 64 bits inclus dans .NET Framework 4.6 et versions ultérieures.
1 Le Common Language Runtime utilise le compilateur JIT 64 bits plus ancien.

Éléments enfants

Aucun

Éléments parents

Élément Description
configuration Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.
runtime Contient des informations sur les options d'initialisation du runtime.

Notes

À compter de .NET Framework 4.6, le Common Language Runtime utilise un nouveau compilateur 64 bits pour la compilation juste-à-temps (JIT) par défaut. Dans certains cas, cela peut entraîner une différence de comportement par rapport au code d’application compilé par la version précédente du compilateur JIT 64 bits. En définissant l’attribut enabled de l’élément <useLegacyJit> sur 1, vous pouvez désactiver le nouveau compilateur JIT 64 bits et compiler votre application à l’aide du compilateur JIT 64 bits hérité.

Notes

L’élément <useLegacyJit> affecte uniquement la compilation JIT 64 bits. La compilation avec le compilateur JIT 32 bits n’est pas affectée.

Au lieu d’utiliser un paramètre de fichier de configuration, vous pouvez activer le compilateur JIT 64 bits hérité de deux autres façons :

  • Définition d’une variable d’environnement

    Définissez la variable d’environnement COMPLUS_useLegacyJit sur 0 (utilisez le nouveau compilateur JIT 64 bits) ou 1 (utilisez l’ancien compilateur JIT 64 bits) :

    COMPLUS_useLegacyJit=0|1  
    

    La variable d’environnement présente une étendue globale, ce qui signifie qu’elle affecte toutes les applications exécutées sur l’ordinateur. Si elle est définie, elle peut être remplacée par le paramètre du fichier de configuration de l’application. Le nom de la variable d’environnement ne respecte pas la casse.

  • Ajout d’une clé de Registre

    Vous pouvez activer le compilateur JIT 64 bits hérité en ajoutant une valeur REG_DWORD à la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework ou HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework dans le Registre. La valeur est nommée useLegacyJit. Si la valeur est 0, le nouveau compilateur est utilisé. Si la valeur est 1, le compilateur JIT 64 bits hérité est activé. Le nom de la valeur du Registre ne respecte pas la casse.

    L’ajout de la valeur à la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework affecte toutes les applications s’exécutant sur l’ordinateur. L’ajout de la valeur à la HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework clé affecte toutes les applications exécutées par l’utilisateur actuel. Si une machine est configurée avec plusieurs comptes d’utilisateur, seules les applications exécutées par l’utilisateur actuel sont affectées, sauf si la valeur est ajoutée aux clés de Registre pour d’autres utilisateurs. L’ajout de l’élément <useLegacyJit> à un fichier de configuration remplace les paramètres du Registre, le cas échéant.

Exemple

Le fichier de configuration suivant désactive la compilation avec le nouveau compilateur JIT 64 bits et utilise l’ancien compilateur à la place.

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

Voir aussi