发信人: chivalry (L.G), 信区: Npsos
标  题: 在Linux上运行C#和.NET 
发信站: 哈工大紫丁香 (2003年03月25日00:43:16 星期二), 站内信件

本文选自:开放系统世界—赛迪网 
众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Windows 
9x/Me/NT/2000/XP和Windows CE之类的操作系统。但是,现在却有了一个叫做Mono的项目
,它的目标就是把.NET及其编程语言移植到非Windows的平台上。目前,C#是惟一被移植到
非Windows平台的.NET语言。
在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、编
译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程序的
编写。.NET框架也不例外,包含了许多类库。另外,把程序转换成可执行形式,并
且运行执行文件时,编译器和运行环境是必不可少的。Mono软件包包含了.NET类库的一部
分、一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环境
)。
Mono声称支持Linux、Solaris、FreeBSD和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.Dr
awing.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,Inter
mediate Language)。要运行这个执行文件,必须执行如下命令:
# mono HelloMono.exe
Linux控制台上将显示出“Hello Mono”。关于mcs和Mono的更多说明,请执行man mcs或
man mono参考其man文档。
GUI应用
Mono不支持Windows Forms,但在C#编程中可用GTK #编写GUI。GTK #是GTK+图形库的C#支
持工具,可从
http://gtk-sharp.sourceforge.Net/ 下载。下载完成后,先要安装RPM:# mono 
ButtonApp.exe
Mono项目还在完善和发展之中,目前还没有移植好全部.NET类。但不管怎样,它对许多人
来说将是一个好消息。有关Mono C#类库移植进展的信息,请访问www.go-mono.com/class-
status.html。
考虑一个典型的服务器/客户机式.NET应用:最终用户只与客户端打交道,客户端最好是方
便的GUI应用,许多人还会希望使用熟悉的Windows平台。但是,对于用户来说,服务器端
使用Windows还是Linux完全无关。所以,服务器端可以用带有Mono的Linux构造,节省了配
备专用Windows服务器的投资。Mono也将为应用迁移带来方便。如果Mono能够顺利发展,Wi
ndows开发者也将能够为Linux或其它非Windows平台开发应用。如果这样的话,不久之后出
现一个类似Visual Studio .NET但免费或廉价的Linux开发IDE也说不定。
然而,所有这一切是否能够成为现实依赖于Mono是否能够茁壮发展,也依赖于Mono与Windo
ws平台上的.NET框架兼容或相似程度。另外一些因素也很关键,例如Mono的性能、GUI的友
好程度等。
 
--
Chivalry includes bravery ,loyalty,honor,courtesy,
repect for woman,protection of the weak,and generosity.

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 210.46.72.251]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.443毫秒