当前位置:  开发笔记 > 编程语言 > 正文

是否可以将.NET IL代码编译为机器代码?

如何解决《是否可以将.NETIL代码编译为机器代码?》经验,为你挑选了4个好方法。

我想在没有.NET框架的情况下分发我的.NET程序.是否可以将.NET程序编译为机器代码?



1> FlySwat..:

是的,您可以使用Ngen.exe进行预编译,但这不会消除CLR依赖性.

您仍然必须运送IL程序集,Ngen的唯一好处是您的应用程序可以在不调用JIT的情况下启动,因此您可以获得真正快速的启动时间.

根据CLR Via C#:

此外,使用Ngen预编译的程序集通常比JIT组件慢,因为JIT编译器可以优化目标机器(32位?64位?特殊寄存器?等),而NGEN只会生成基线编译.

编辑:

CLR Via C#对上述信息存在争议,因为有些人说你只需要在目标机器上运行Ngen作为安装过程的一部分.


乔恩,这取决于.`ngen`可以通过目标机器上的安装过程调用,据我所知,这实际上是针对在.NET中实现的各种Microsoft产品完成的.
编辑我的评论:你实际上是错的(我也是如此),`ngen`*有*在目标机器上调用.`ngen`在*machine-local*GAC中安装本机映像!在开发人员的机器上进行预编译将毫无用处.

2> OregonGhost..:

Remotesoft有一个: Salamander .NET Linker

虽然我没有任何经验.



3> Turnkey..:

有一些第三方工具可以做到这一点,例如

http://www.remotesoft.com/linker/

http://www.xenocode.com/



4> Jacob..:

另一个(昂贵的,专有的,许可证起价为1599美元)产品可以做到这一点是Xenocode Postbuild.但是我自己没有使用它,因为它耗费了一个非洲小国的国民生产总值而且全部......

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有