我想在没有.NET框架的情况下分发我的.NET程序.是否可以将.NET程序编译为机器代码?
是的,您可以使用Ngen.exe进行预编译,但这不会消除CLR依赖性.
您仍然必须运送IL程序集,Ngen的唯一好处是您的应用程序可以在不调用JIT的情况下启动,因此您可以获得真正快速的启动时间.
根据CLR Via C#:
此外,使用Ngen预编译的程序集通常比JIT组件慢,因为JIT编译器可以优化目标机器(32位?64位?特殊寄存器?等),而NGEN只会生成基线编译.
编辑:
CLR Via C#对上述信息存在争议,因为有些人说你只需要在目标机器上运行Ngen作为安装过程的一部分.
Remotesoft有一个: Salamander .NET Linker
虽然我没有任何经验.
有一些第三方工具可以做到这一点,例如
http://www.remotesoft.com/linker/
http://www.xenocode.com/
另一个(昂贵的,专有的,许可证起价为1599美元)产品可以做到这一点是Xenocode Postbuild.但是我自己没有使用它,因为它耗费了一个非洲小国的国民生产总值而且全部......