É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
sur0
(utilisez le nouveau compilateur JIT 64 bits) ou1
(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
ouHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
dans le Registre. La valeur est nomméeuseLegacyJit
. 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 à laHKEY_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>