Ngen输出的C#可执行文件是无效的Win32应用程序

时间:2014-05-12 20:01:54

标签: c# .net

我在C#上有一个Windows控制台应用程序,我试图本地编译,因为我需要它在没有.Net 4.0的机器上运行。我使用了ngen.exe并抓住了输出(myproject.ni.exe)和DLL,但当我将它复制到另一台机器并尝试运行exe时,它说它不是一个有效的win32应用程序。我错过了什么吗?

感谢。

1 个答案:

答案 0 :(得分:3)

是的,NGen不生成可执行/本机DLL,它确实生成了与.Net程序集一起使用的预JIT代码。

还有其他工具(即参见Compiling C# to Native?)可以从.Net程序集中创建独立的可执行文件,但NGen不是其中之一。