check outMono
http://www.go-mono.com/

解决方案 »

  1.   

    在Linux上运行C#在Linux上运行C# 
     
    作者:CZ 来源:未知 加入时间:2003-2-10 10:07:37 
    众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x、ME、NT、2000、XP和Win CE之类的操作系统。但是,现在却有了一个叫做Mono的项目,它的目标就是把.NET及其编程语言移植到非Windows的平台上。现在,C#是唯一被移植到非Windows平台的.NET语言。   在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、编译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程序的编写。.NET框架也不例外,包含了许多类库。另外,把程序转换成可执行形式以及运行执行文件时,编译器和运行环境是必不可少的。Mono软件包包含了.NET类库的一部分、一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环境)。  Mono声称支持Linux、Solaris、Free BSD和MS Windows;除了Intel x86系列的CPU(486,各类Pentium等)之外,据说还要支持Sparc、PowerPC和StrongArm处理器。   下面就来看看如何在Linux上运行Mono。   命令行应用   先从Mono主页http://www.go-mono.com/)下载软件,执行下面的命令安装所有RPM:   rpm -ivh *.rpm   安装完成后,所有基本的动态执行库,包括System.Data.dll、System.dll、System.Drawing.dll、System.Web.dll和System.Xml.dll都被复制到/usr/lib下。接下来,在Linux文本编辑器中输入下面的内容,把文件保存为HelloMono.cs:   class HelloMono 
      { 
      public static void Main(string[ ] args) 
      { System.Console.WriteLine("Hello Mono"); 
      } 
      }   执行下面的命令编译C#文件:   mcs HelloMono.cs  mcs是Mono的C#命令行编译器。与MS .NET SDK的csc编译器相似,mcs也有很多命令行选项。上面的命令将生成可执行文件HelloMono.exe。注意这个执行文件不是Linux执行文件,而是一个.NET执行文件,或者说,这个文件的可执行代码形式是中间语言(IL,Intermediate Language)。要运行这个执行文件,必须执行如下命令:   mono HelloMono.exe 
     
      

  2.   

    ms也推出了给予bsd的运行时。也就是说,“c#程序”可以在bsd上运行
      

  3.   

    现在还不成熟, 而且java在那方面却已经很有优势了
      

  4.   

    iNET不错了:
    www.stryon.com.cn
    它的运行原理是:用工具转换c#、vb.net、JScript等的应用程序到java工程,然后直接在别的平台运行这个工程就可以了。
      

  5.   

    我们知道,C#程序只是被编译器编译成MISL代码,非本地机器码,也许就有运行在其他非windows平台下的可能,在windows平台编译的c#程序在有.net框架运行时的Linux环境中也许能够运行.不知我的猜测是否正确.
      

  6.   

    因为il代码太灵活,所以很难在别的平台运行起来,这是肯定的。分析了java中class的文件结构,会发现其代码都是很简单的。举个例子,在il代码中加法运算是不需要知道进行运算的操作数的具体类型的,也就是说int与int的加法操作是Add,long与long的加法操作也是Add;但在java就不一样了,int与int的加法必须用IADD,long与long的加法必须用LADD,否则就会出错。