Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определяет, использует ли среда-компилятор устаревшей 64-разрядной JIT для JIT-компиляции.
<configuration>
<runtime>
<useLegacyJit>
Синтаксис
<useLegacyJit enabled=0|1 />
Имя элемента useLegacyJit учитывает регистр.
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Attributes
| Свойство | Description |
|---|---|
enabled |
Обязательный атрибут. Указывает, использует ли среда выполнения устаревший 64-разрядный компилятор JIT. |
атрибут включено
| Ценность | Description |
|---|---|
| 0 | Среда использует новый 64-разрядный компилятор JIT, включенный в .NET Framework 4.6 и более поздних версий. |
| 1 | Среда использует более старый 64-разрядный компилятор JIT. |
Дочерние элементы
None
Родительские элементы
| Элемент | Description |
|---|---|
configuration |
Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework. |
runtime |
Содержит сведения о параметрах инициализации среды выполнения. |
Замечания
Начиная с .NET Framework 4.6 среда CLR использует новый 64-разрядный компилятор для компиляции JIT-In-Time по умолчанию. В некоторых случаях это может привести к разнице в поведении от кода приложения, который был скомпилирован в предыдущей версии 64-разрядного компилятора JIT. Задав enabled атрибут <useLegacyJit> элемента 1, можно отключить новый 64-разрядный компилятор JIT и скомпилировать приложение с помощью устаревшего 64-разрядного компилятора JIT.
Замечание
Элемент <useLegacyJit> влияет только на 64-разрядную компиляцию JIT. Компиляция с 32-разрядным компилятором JIT не влияет.
Вместо использования параметра файла конфигурации можно включить устаревший 64-разрядный компилятор JIT двумя другими способами:
Указание переменной среды
Задайте для переменной
COMPLUS_useLegacyJit0среды значение (используйте новый 64-разрядный компилятор JIT) или1(используйте более старый 64-разрядный компилятор JIT):COMPLUS_useLegacyJit=0|1Переменная среды имеет глобальную область, что означает, что она влияет на все приложения, выполняемые на компьютере. Если задано, его можно переопределить параметром файла конфигурации приложения. Имя переменной среды не учитывает регистр.
Добавление раздела реестра
Вы можете включить устаревший 64-разрядный компилятор JIT, добавив
REG_DWORDзначениеHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFrameworkв реестр илиHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFrameworkраздел. Значение называетсяuseLegacyJit. Если значение равно 0, используется новый компилятор. Если значение равно 1, устаревший 64-разрядный компилятор JIT включен. Имя значения реестра не учитывает регистр.Добавление значения в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFrameworkключ влияет на все приложения, работающие на компьютере. Добавление значения вHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFrameworkключ влияет на все приложения, выполняемые текущим пользователем. Если компьютер настроен с несколькими учетными записями пользователей, затрагиваются только приложения, выполняемые текущим пользователем, если только значение не добавляется в разделы реестра для других пользователей. Добавление элемента в<useLegacyJit>файл конфигурации переопределяет параметры реестра, если они присутствуют.
Example
Следующий файл конфигурации отключает компиляцию с новым 64-разрядным компилятором JIT и вместо этого использует устаревший 64-разрядный JIT-компилятор.
<?xml version ="1.0"?>
<configuration>
<runtime>
<useLegacyJit enabled="1" />
</runtime>
</configuration>