有没有办法将.NET程序集编译为本机代码(即x86)输出,即没有MSIL。
根据我的理解,如果你只是将x86指定为体系结构,这只会改变PE Header以指向JIT,但程序集仍然包含MSIL并且将根据需要进行JITT。
NGen确实为指定的体系结构生成程序集文件,但它不是编译器,它的目的是提高性能但是你仍然需要原始的DLL,本机映像的存在只能避免JIT编译程序集,但你可以得到原生图像并使用它,是吗?
那么,有没有办法从.NET实际编译到本地机器代码?
答案 0 :(得分:10)
Spoon Studio(之前被命名为Xenocode)似乎能够做到这一点:http://spoon.net/Studio/Features.aspx
RemoteSoft也有产品,但网站看起来很旧:http://www.remotesoft.com/linker/
答案 1 :(得分:3)
您可以使用名为.NET Native的新预编译技术来完成此操作。请在此处查看:http://msdn.microsoft.com/en-US/vstudio/dotnetnative
目前它仅适用于Windows应用商店应用。它执行单个组件链接。因此.NET Framework库静态链接到您的应用程序。所有内容都编译为本机,并且不再部署IL程序集。