c#写的控制台程序,exe执行时,也需要.net framework吗?
1.比如下面这样一个简单的程序,编译为exe 文件后,也不能独立执行吗?
2.另外:据说c#编译后生成的是中间格式文件,这个中间文件执行时,临时编译成真正的二进制文件,
我想问,这个中间格式文件的后缀名也是.exe吗?
3.c#生成的exe文件执行时,是临时编译成真正的“可执行文件”吗,即机器硬件可以识别的格式。
如果这样,是不是效率很低呀?using System;
using System.Collections.Generic;
using System.Text;namespace zghc2
{
    class zghc2
    {
        static void Main(string[] args)
        {
            Console.WriteLine("jf;dsakjf;klajsdf");
            Console.ReadKey();
        }
    }
}

解决方案 »

  1.   

    需要
    .NET Framework,一个运行在操作系统Windows之上的软件虚拟机。开发出来的程序经过编译之后,生成的可执行程序实际上包含的只是MSIL指令代码,这是一种托管代码,只能运行在.NET虚拟机之上。
    http://msdn.microsoft.com/zh-cn/library/k5532s8a.aspx
      

  2.   

    肯定需要.NET Framework的支持
    .net 下是编译运行 这是与JAVA 解释运行的区别 
    要比JAVA的效率高
    而且.net 对编译成的机器码进行了优化 运行速度更快 这种编码被称为自然码。
      

  3.   

    需要.net framework支持。就像用java写的控制台程序需要jdk、jre一样吧。
      

  4.   

    .net framework就是微软的底牌,这其实和JDK一样,都是一种虚拟机,是微软语言在WINDOWS上的虚拟机,所以并不用担心JAVA完全击败C#,因为只要微软推出一个.net framework for LINUX或者FOR UNIX等,JAVA将死无葬身之地就是喜欢C#,就是喜欢微软!