Partager via


<useLegacyJit> Élément

Détermine si le Common Language Runtime utilise le compilateur JIT 64 bits hérité pour la compilation juste-à-temps.

<Configuration>
   <Duree>
     <useLegacyJit>

Syntaxe

<useLegacyJit enabled=0|1 />

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

Attributs et éléments

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

Attributes

Caractéristique Descriptif
enabled Attribut obligatoire.

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

attribut activé

Valeur Descriptif
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 Descriptif
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.

Remarques

À compter de .NET Framework 4.6, le Common Language Runtime utilise un nouveau compilateur 64 bits pour la compilation Juste-In-Time (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>1sur , vous pouvez désactiver le nouveau compilateur JIT 64 bits et compiler votre application à l’aide du compilateur JIT 64 bits hérité.

Note

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 COMPLUS_useLegacyJit variable 0 d’environnement sur (utilisez le nouveau compilateur JIT 64 bits) ou 1 (utilisez l’ancien compilateur JIT 64 bits) :

    COMPLUS_useLegacyJit=0|1
    

    La variable d’environnement a 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 de fichier de configuration de l’application. Le nom de la variable d’environnement n’est pas sensible à la casse.

  • Ajout d’une clé de Registre

    Vous pouvez activer le compilateur JIT 64 bits hérité en ajoutant une REG_DWORD valeur à la ou HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework à la HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework clé du 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 de Registre n’est pas sensible à la casse.

    L’ajout de la valeur à la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework clé 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, s’ils sont présents.

Example

Le fichier de configuration suivant désactive la compilation avec le nouveau compilateur JIT 64 bits et utilise plutôt le compilateur JIT 64 bits hérité.

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

Voir aussi