ngen用于将.NET代码编译成二进制文件,在运行代码时不需要安装.NET框架吗?

Mat*_*att 3 .net ngen

我在维基百科关于CLR的文章中阅读了以下段落:

或者,可以通过使用本机映像生成器(NGEN)在运行之前在单独的步骤中将CIL代码编译为本机代码.由于不再需要CIL到本机编译,这加速了软件的所有后续运行.

这是否意味着我可以使用任何.NET程序并将其编译为二进制文件,然后该二进制文件将能够在没有安装.NET框架的机器上运行?

cod*_*zen 5

没有.

这意味着在运行代码时不需要运行JIT(实时)编译器,因为它已经由NGen转换为机器代码.生成的二进制文件仍然依赖于.Net框架,并且必须在计算机上单独安装.

有一些工具可以打包.Net框架程序集,并以不需要.Net框架的方式将它们包含在二进制文件中.查看http://www.xenocode.com/.VMWare购买了一个名为Thinstall的工具,我认为也可以这样做:http://www.vmware.com/products/thinapp/.