<useLegacyJit> 項目<useLegacyJit> Element

決定通用語言執行平台是否針對 Just-In-Time 編譯使用舊版 64 位元 JIT 編譯器。Determines whether the common language runtime uses the legacy 64-bit JIT compiler for just-in-time compilation.

<configuration>
  <runtime>
    <useLegacyJit>

語法Syntax

<useLegacyJit enabled=0|1 />

元素名稱 useLegacyJit 會區分大小寫。The element name useLegacyJit is case-sensitive.

屬性和元素Attributes and elements

下列章節說明屬性、子元素和父元素。The following sections describe attributes, child elements, and parent elements.

屬性Attributes

屬性Attribute 描述Description
enabled 必要屬性。Required attribute.

指定執行時間是否使用舊版64位 JIT 編譯程式。Specifies whether the runtime uses the legacy 64-bit JIT compiler.

enabled 屬性enabled attribute

Value 描述Description
00 通用語言執行時間會使用 .NET Framework 4.6 和更新版本中所包含的新64位 JIT 編譯程式。The common language runtime uses the new 64-bit JIT compiler included in the .NET Framework 4.6 and later versions.
11 通用語言執行時間會使用舊版的64位 JIT 編譯程式。The common language runtime uses the older 64-bit JIT compiler.

子元素Child elements

None

父元素Parent elements

元素Element 描述Description
configuration 通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime 包含有關執行階段初始化選項的資訊。Contains information about runtime initialization options.

備註Remarks

從 .NET Framework 4.6 開始,通用語言執行時間預設會使用新的64位編譯器來進行即時(JIT)編譯。Starting with the .NET Framework 4.6, the common language runtime uses a new 64-bit compiler for Just-In-Time (JIT) compilation by default. 在某些情況下,這可能會與舊版64位 JIT 編譯程式所 JIT 編譯的應用程式程式碼為有所差異。In some cases, this may result in a difference in behavior from application code that was JIT-compiled by the previous version of the 64-bit JIT compiler. 藉由將 enabled 元素的屬性設定 <useLegacyJit>1 ,您可以停用新的64位 jit 編譯器,並改為使用舊版64位 jit 編譯器編譯您的應用程式。By setting the enabled attribute of the <useLegacyJit> element to 1, you can disable the new 64-bit JIT compiler and instead compile your app using the legacy 64-bit JIT compiler.

注意

<useLegacyJit>元素只會影響64位 JIT 編譯。The <useLegacyJit> element affects 64-bit JIT compilation only. 使用32位 JIT 編譯程式的編譯不受影響。Compilation with the 32-bit JIT compiler is unaffected.

除了使用設定檔設定之外,您還可以透過兩種方式啟用舊版的64位 JIT 編譯程式:Instead of using a configuration file setting, you can enable the legacy 64-bit JIT compiler in two other ways:

  • 設定環境變數Setting an environment variable

    COMPLUS_useLegacyJit 環境變數設定為 0 (使用新的64位 jit 編譯器)或 1 (使用舊版的64位 jit 編譯器):Set the COMPLUS_useLegacyJit environment variable to either 0 (use the new 64-bit JIT compiler) or 1 (use the older 64-bit JIT compiler):

    COMPLUS_useLegacyJit=0|1  
    

    環境變數具有全域範圍,這表示它會影響電腦上執行的所有應用程式。The environment variable has global scope, which means that it affects all applications run on the machine. 如果設定,應用程式佈建檔設定可以覆寫它。If set, it can be overridden by the application configuration file setting. 環境變數名稱不區分大小寫。The environment variable name is not case-sensitive.

  • 新增登錄機碼Adding a registry key

    您可以將 REG_DWORD 值新增至登錄中的或機碼,以啟用舊版64位 JIT 編譯程式 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFrameworkYou can enable the legacy 64-bit JIT compiler by adding a REG_DWORD value to either the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework or HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework key in the registry. 此值的名稱為 useLegacyJitThe value is named useLegacyJit. 如果值為0,則會使用新的編譯器。If the value is 0, the new compiler is used. 如果值為1,則會啟用舊版64位 JIT 編譯程式。If the value is 1, the legacy 64-bit JIT compiler is enabled. 登錄值名稱不區分大小寫。The registry value name is not case-sensitive.

    將值新增至索引 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 鍵會影響電腦上執行的所有應用程式。Adding the value to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework key affects all apps running on the machine. 將值新增至索引 HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework 鍵會影響目前使用者執行的所有應用程式。Adding the value to the HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework key affects all apps run by the current user. 如果電腦已設定多個使用者帳戶,則只有目前使用者執行的應用程式會受到影響,除非其他使用者的值也已加入登錄機碼中。If a machine is configured with multiple user accounts, only apps run by the current user are affected, unless the value is added to the registry keys for other users as well. <useLegacyJit> 元素新增至設定檔會覆寫登錄設定(如果有的話)。Adding the <useLegacyJit> element to a configuration file overrides the registry settings, if they're present.

範例Example

下列設定檔會使用新的64位 JIT 編譯程式來停用編譯,而改用舊版的64位 JIT 編譯程式。The following configuration file disables compilation with the new 64-bit JIT compiler and instead uses the legacy 64-bit JIT compiler.

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

另請參閱See also