2015-07-21 22 views
11

Announcing .NET Framework 4.6读取它似乎暗示RyuJIT仅适用于.NET 4.6。我是否需要将我的应用程序定位到.NET 4.6以利用RyuJIT?

这是否意味着我需要将我的应用程序重新定位到.NET 4.6以使RyuJIT生效?

+2

一旦在系统上安装了.NET 4.6,除非您在应用程序或系统级别禁用RyuJIT,否则所有64位.NET 4.0+应用程序都会获得RyuJITted(https://github.com/Microsoft/dotnet/blob/master/)文档/ testing-with-ryujit.md#禁用-ryujit)。 – NextInLine

回答

15

简答:没有。

长答案:使用调试器确保您有新版本。首先使用Explorer浏览运行时目录,导航到C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319。你会发现这两个抖动,clrjit.dll是基于Ryujit项目的新抖动,compatjit.dll是传统的x64抖动。

项目>属性>调试>勾选“启用本地代码调试选项”。使用“构建”选项卡并确保已删除抖动强制,“首选32位”选项必须取消选中,“平台目标”必须设置为AnyCPU。并使用“应用程序”选项卡选择框架目标。

使用调试>步入开始调试。调试> Windows>模块显示已加载模块的列表。找到该列表中的抖动DLL,单击“名称”列标题按名称排序。如果您看到compatjit.dll,那么您正在使用传统抖动。请注意,你总是会看到clrjit.dll,它们在使用传统抖动时都会被加载。

使用传统的x64抖动故意要求要么COMPLUS_useLegacyJit环境变量或在HKLM或HKCU \软件\微软\ .NETFramework注册表项useLegacyJit值或app.exe.config文件条目:

<runtime> 
    <useLegacyJit enabled="1"/> 
</runtime> 
相关问题