C# 将.NET程序集编译为x86机器代码
有没有办法将.NET程序集编译成本机代码(即x86)输出,也就是说,没有MSIL 据我所知,如果您只是将x86指定为体系结构,那么这只会更改PE头以指向JIT,但程序集仍将包含MSIL,并根据需要进行JIT NGen确实为指定的体系结构生成程序集文件,但它不是一个编译器,它旨在提高性能,但您仍然需要原始DLL,本机映像的存在只是为了避免JIT编译程序集,但您无法获取并使用该本机映像,对吗 那么,有没有办法从.NET编译到本机机器代码呢?Spoon Studio(以前被命名为Xenocode)似乎能够做到这一点:C# 将.NET程序集编译为x86机器代码,c#,.net,.net-assembly,native-code,C#,.net,.net Assembly,Native Code,有没有办法将.NET程序集编译成本机代码(即x86)输出,也就是说,没有MSIL 据我所知,如果您只是将x86指定为体系结构,那么这只会更改PE头以指向JIT,但程序集仍将包含MSIL,并根据需要进行JIT NGen确实为指定的体系结构生成程序集文件,但它不是一个编译器,它旨在提高性能,但您仍然需要原始DLL,本机映像的存在只是为了避免JIT编译程序集,但您无法获取并使用该本机映像,对吗 那么,有没有办法从.NET编译到本机机器代码呢?Spoon Studio(以前被命名为Xenocode)似乎
RemoteSoft也有一个产品,但该网站看起来很旧:您可以使用名为.NET Native的新预编译技术来实现这一点。在这里查看:
目前,它仅适用于Windows应用商店应用程序。它执行单个组件链接。因此.NET Framework库被静态链接到您的应用程序中。所有内容都编译为本机,并且不再部署IL程序集。我会感到惊讶-这是否也需要将CLR的大部分编译为汇编程序?这应该是最重要的答案:.NET本机是C#/.NET的一个重要里程碑,卡里姆:请记住,这个问题是三年前提出的:)Spoon.net不再是一个东西,但它现在是turbo,它基本上包含了一个解决方案,这与最初的问题有点相反。DotNetNative虽然有其缺点,但目前是一种更好的方法。