11

有没有办法将.NET 程序集编译为本机代码(即x86)输出,即没有MSIL。

据我了解,如果您只是将 x86 指定为体系结构,这只会更改 PE 标头以将其指向 JIT,但程序集仍将包含 MSIL 并将根据需要进行 JITTed。

NGen 确实为指定的体系结构生成程序集文件,但它不是编译器,它旨在提高性能,但您仍然需要原始 DLL,本机映像的存在仅用于避免 JIT 编译程序集,但您无法获得那个原生图像并使用它,可以吗?

那么,有什么方法可以真正从.NET 编译为本机代码?

4

2 回答 2

10

Spoon Studio(之前被命名为 Xenocode)似乎能够做到这一点:http ://spoon.net/Studio/Features.aspx

RemoteSoft 也有一个产品,但网站看起来很旧:http ://www.remotesoft.com/linker/

于 2011-06-01T08:50:12.210 回答
3

您可以使用称为 .NET Native 的新预编译技术来做到这一点。在这里查看:http: //msdn.microsoft.com/en-US/vstudio/dotnetnative

目前它仅适用于 Windows 应用商店应用程序。它执行单个组件链接。因此 .NET Framework 库静态链接到您的应用程序中。一切都编译为本机,不再部署 IL 程序集。

于 2014-04-21T01:12:16.367 回答