在.NET中,C#编译器只是把C#程序编译为所谓MSIL的中间语言,这往往要求使用以C#编写的程序的机器必须安装.NET Framework,很痛苦。请问怎样把C#程序直接编译为机器能够直接运行的EXE

解决方案 »

  1.   

    不可以吧,要是可以,微软还不同意呢。你这么弄,那人家.net不是没用了吗?
      

  2.   

    在命令提示符里输入csc  文件名
      

  3.   

    哦,我做时是有安装.net framework回答错了,见谅
      

  4.   

    你在安装程序里面嵌入一个 framework的安装包 安装的时候检测 有没有 mscoree.dll 判断计算机有没有装.net 这样也是一样神不知鬼不觉
      

  5.   

    同意 skyeenet(我不要当跑龙套的)
      

  6.   

    好像不能做成你说俄要求,做成exe文件都要有framwork支持的,所以在打包部署时最好将Framework一起打进去!
      

  7.   

    dotnet开发出的程序是 托管exe,没有dotNetFramework是不可能在windows2000/xp上运行的。
      

  8.   

    有工具是可以将dotNET程序转换为标准的EXE执行程序的.
      

  9.   

    http://www.remotesoft.com/
    Salamander .NET Native Compiler
    我没用过,只是看到这个介绍.
      

  10.   

    兄弟我英文不行,看不懂http://www.remotesoft.com/里的内容啊
      

  11.   

    实际上remotesoft.com和www.thinstall.com使用的方法都是差不多的.
    都是生成一个pe格式的可执行程序,里面包含了程序、必要的类库和运行时文件.
    所以理论上来说只是生成了一个小一点的安装程序而已,而不是真正的编译成PE可执行程序。
    而且上面的东东都是收费的。结论就是两个字:没门!
      

  12.   

    VC++.NET 支持native code和managed code
    csharp只支持managecode
      

  13.   

    肯定不行!微软之所以在现在某些操作系统及以后的操作系统中嵌入.net框架,其中之一的原因也就是考虑托管代码能够直接运行,所以你用C#编写的程序必须要.net框架才能运行。哪怕是做成安装程序,也需要将.net环境打包进去。