我在C#上有一个Windows控制台应用程序,我试图本地编译,因为我需要它在没有.Net 4.0的机器上运行。我使用了ngen.exe并抓住了输出(myproject.ni.exe)和DLL,但当我将它复制到另一台机器并尝试运行exe时,它说它不是一个有效的win32应用程序。我错过了什么吗?
感谢。
答案 0 :(得分:3)
是的,NGen不生成可执行/本机DLL,它确实生成了与.Net程序集一起使用的预JIT代码。
还有其他工具(即参见Compiling C# to Native?)可以从.Net程序集中创建独立的可执行文件,但NGen不是其中之一。