<useLegacyJit> 要素
共通言語ランタイムが Just-In-Time コンパイルの従来の 64 ビット JIT コンパイラを使用するかどうかを決定します。
configuration
runtime
<useLegacyJit>
構文
<useLegacyJit enabled=0|1 />
要素名 useLegacyJit
では、大文字と小文字が区別されます。
属性と要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
enabled |
必須の属性です。 ランタイムで従来の 64 ビット JIT コンパイラを使用するかどうかを指定します。 |
enabled 属性
[値] | 説明 |
---|---|
0 | 共通言語ランタイムで、.NET Framework 4.6 以降のバージョンに含まれる新しい 64 ビット JIT コンパイラを使用します。 |
1 | 共通言語ランタイムで、古い 64 ビット JIT コンパイラを使用します。 |
子要素
なし
親要素
要素 | 説明 |
---|---|
configuration |
共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。 |
runtime |
ランタイム初期化オプションに関する情報を含んでいます。 |
解説
.NET Framework 4.6 以降では、既定で、共通言語ランタイムに Just-In-Time (JIT) コンパイル用の新しい 64 ビット コンパイラが使用されます。 場合によっては、以前のバージョンの 64 ビット JIT コンパイラによって JIT コンパイルされたアプリケーション コードと動作が異なる場合があります。 <useLegacyJit>
要素の enabled
属性を 1
に設定すると、新しい 64 ビット JIT コンパイラを無効にし、代わりに従来の 64 ビット JIT コンパイラを使用してアプリをコンパイルすることができます。
Note
<useLegacyJit>
要素は、64 ビットの JIT コンパイルのみに影響します。 32 ビットの JIT コンパイラを使ったコンパイルには影響しません。
構成ファイルの設定を使用する代わりに、次の 2 つの方法で従来の 64 ビット JIT コンパイラを有効にすることもできます。
環境変数の設定
COMPLUS_useLegacyJit
環境変数を、0
(新しい 64 ビット JIT コンパイラを使用) または1
(古い 64 ビット JIT コンパイラを使用) のいずれかに設定します。COMPLUS_useLegacyJit=0|1
環境変数にはグローバル スコープがあります。これは、その変数がコンピューター上で実行されるすべてのアプリケーションに影響を与えることを意味します。 設定されている場合、これはアプリケーション構成ファイルの設定によってオーバーライドできます。 環境変数の名前では大文字と小文字は区別されません。
レジストリ キーの追加
レジストリ内の
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
またはHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
キーのいずれかにREG_DWORD
値を追加することで、従来の 64ビット JIT コンパイラを有効にすることができます。 この値はuseLegacyJit
という名前です。 値が 0 の場合は、新しいコンパイラが使用されます。 値が 1 の場合は、従来の 64 ビット JIT コンパイラが有効になります。 レジストリ値の名前では大文字と小文字は区別されません。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
キーへの値の追加は、コンピューター上で実行されているすべてのアプリに影響します。HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
キーへの値の追加は、現在のユーザーによって実行されているすべてのアプリに影響します。 コンピューターに複数のユーザー アカウントが構成されている場合は、その値が他のユーザーのレジストリ キーにも追加されない限り、影響を受けるのは現在のユーザーが実行しているアプリのみとなります。 構成ファイルに<useLegacyJit>
要素を追加すると、レジストリ設定がオーバーライドされます (設定が存在する場合)。
例
次の構成ファイルでは、新しい 64 ビット JIT コンパイラでのコンパイルを無効にし、代わりに従来の 64 ビット JIT コンパイラを使用しています。
<?xml version ="1.0"?>
<configuration>
<runtime>
<useLegacyJit enabled="1" />
</runtime>
</configuration>
関連項目
- 構成ファイルを使用したアプリの構成
- runtime> 要素
- configuration> 要素
- 軽減策:新しい 64 ビット JIT コンパイラ
.NET