.NET原生在哪里?

10
我对将C#代码编译成本机代码的想法感到兴奋,于是我下载了.NET native并安装了它。但是我无法配置我的构建以编译x86或x64,事实上,除了"任何CPU"架构之外,没有其他可用选项:

enter image description here

这是关于 VS 的内容:

enter image description here

编辑:当我来安装时,我选择了以下功能:

enter image description here


1
据我所知,.NET Native 仅支持 Windows Store 应用程序。桌面应用程序不是受支持的目标。 - Mike Zboray
1
你不能继续使用ngen.exe吗?https://msdn.microsoft.com/zh-cn/library/6t9t5wcf(v=vs.110).aspx - Michael Edenfield
ngen是在目标机器上使用的;它将您的IL编译为本机代码,以便当CLR运行它时,它已经被JIT'd。它与.NET Native不完全相同,但类似,这就是为什么我建议您看一下它的原因。 - Michael Edenfield
@Jack,你在运行 ngen 的 .dll 文件不会被修改。它会存储在本地映像缓存 (NIC) 中,你可以在这里找到它:https://dev59.com/4G035IYBdhLWcg3wC7cR由于原始的 .dll 没有被修改,所以你可以将它复制到另一台机器上并在那里运行 ngen。这通常是在安装程序中作为步骤之一运行 ngen 的方式。 - Robert Rouhani
我开了另一个线程,询问有关ngen的更多信息,但我将要删除它:http://stackoverflow.com/questions/29464018/how-does-ngen-works - Jack
显示剩余4条评论
2个回答

15

那是因为你的应用程序是一个Windows Forms应用程序。根据文档:

此开发者预览版目前支持在ARM和x64架构上构建Windows Store应用程序(请期待x86)。.NET Native将很快实现跨设备的一致和统一的体验。今天的预览版支持Windows Store应用程序。我们将继续改进本机编译以支持各种.NET应用程序。


1
两年后还是一样吗? - beppe9000

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接