从宣布.NET框架4.6中读到,这似乎意味着RyuJIT只适用于.NET 4.6。
这是否意味着我需要将我的应用程序重新定位到.NET 4.6以使RyuJIT生效?
发布于 2015-07-21 08:57:09
简短回答:不。
长答案:使用调试器确保您有新版本。首先查看运行时目录和资源管理器,导航到C:\Windows\Microsoft.NET\Framework64\v4.0.30319.您会发现这两个抖动,clrjit.dll是基于Ryujit项目的新抖动,而compatjit.dll是遗留的x64抖动。
项目>属性>调试>勾选“启用本机代码调试选项”。使用Build选项卡并确保您已经消除了抖动强制,必须取消“首选32位”选项,必须将"Platform target“设置为AnyCPU。并使用Application选项卡选择框架目标。
使用Debug > start开始调试。Debug > Windows > modules显示加载模块的列表。在该列表中找到抖动DLL,单击" name“列标题按名称排序。如果您看到compatjit.dll返回,那么您将使用遗留抖动。请注意,您将始终看到clrjit.dll,它们都是在使用遗留抖动时加载的。
使用遗留x64抖动时,有意需要HKLM或HKCU\Software\Microsoft\ .NETFramework注册表项或app.exe.config文件条目中的COMPLUS_useLegacyJit环境变量或useLegacyJit值:
<runtime>
<useLegacyJit enabled="1"/>
</runtime>https://stackoverflow.com/questions/31529683
复制相似问题