新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论.NET,C#,ASP,VB技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Dot NET,C#,ASP,VB 』 → 在Linux上运行C#(zz) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 9779 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 在Linux上运行C#(zz) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18406
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    兴趣:
    * XML相关技术
    * 资料收集
    * Ontology Engineering
    * Web架构
    * SW Implementation
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 Dot NET,C#,ASP,VB 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 在Linux上运行C#(zz)


    发信人: UltraFool (遥望·遐想·感伤), 信区: DotNET        
    标  题: 在Linux上运行C#(zz)
    发信站: BBS 水木清华站 (Tue Nov 19 18:17:30 2002), 转信

    作者:仙人掌工作室    本文选自:赛迪网  2002年09月30日
    众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x、ME、
    NT、2000、XP和Win CE之类的操作系统。但是,现在却有了一个叫做Mono的项目,它的
    目标就是把.NET及其编程语言移植到非Windows的平台上。现在,C#是唯一被移植到非W
    indows平台的.NET语言。
    在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、
    编译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程
    序的编写。.NET框架也不例外,包含了许多类库。另外,把程序转换成可执行形式以及
    运行执行文件时,编译器和运行环境是必不可少的。Mono软件包包含了.NET类库的一部
    分、一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环
    境)。
    Mono声称支持Linux、Solaris、Free BSD和MS Windows;除了Intel x86系列的CPU(48
    6,各类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下。接下来,在Lin
    ux文本编辑器中输入下面的内容,把文件保存为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,In
    termediate Language)。要运行这个执行文件,必须执行如下命令:
    mono HelloMono.exe
    Linux控制台上将显示出"Hello Mono"。关于mcs和Mono的更多说明,请执行man mcs或m
    an mono参考其man文档。
    GUI应用
    Mono不支持Windows Forms,但在C#编程中可用GTK #编写GUI。GTK #是GTK+图形库的C#
    支持工具,可从http://gtk-sharp.sourceforge.Net/下载。下载完成后,先要安装RPM

    rpm -Uvh *.rpm --nodeps
    解开gtk-sharp-0.2.1.tar.gz:
    tar -zxvf gtk-sharp-0.2.1.tar.gz
    进入子目录gtk-sharp-0.2.1,执行:
    ./configure --prefix=/usr
    make
    make install
    完成这一步骤之后,重新启动一次。与GTK#有关的所有动态代码模块(gtk-sharp.dll、
    atk-sharp.dll、gdk-sharp.dll、glib-sharp.dll以及pango-sharp.dll)都会被复制到
    /usr/lib目录,编译用GTK#制作GUI的C#程序时,必须通过-r参数引用它们。GTK#下载包
    中包含了几个示例程序,如HelloWorld.cs、Menu.cs、ButtonApp.cs等。编译这些文件
    的命令如下:
    mcs -r gtk-sharp -r glib-sharp HelloWorld.cs
    mcs -r gtk-sharp -r glib-sharp -r System.Drawing Menu.cs
    mcs -r gtk-sharp -r glib-sharp -r System.Drawing ButtonApp.cs
    下面来看看如何通过-r选项引用前面各个.dll动态模块。执行startx命令启动X Window
    ,进入终端窗口,再进入示例程序所在目录,执行下面的命令分别运行各个程序:
    mono HelloWorld.exe
    mono Menu.exe
    mono ButtonApp.exe
    Mono项目还在完善和发展之中,还没有移植好全部.NET类。但不管怎样,它对许多人来
    说将是一个好消息。有关Mono C#类库移植进展的信息,请访问www.go-mono.com/class
    -status.html。
    考虑一个典型的服务器/客户机式.NET应用:最终用户只与客户端打交道,客户端最好是
    方便的GUI应用,许多人还会希望使用熟悉的Windows平台。但是,对于他们来说,服务
    器端使用Windows还是Linux完全无关。所以,服务器端可以用带有Mono的Linux构造,节
    省了配备专用Windows服务器的投资。Mono也将为应用迁移带来方便。如果Mono能够顺利
    发展,Windows开发者也将能够为Linux或其他非Windows平台开发应用。如果这样的话,
    不久之后出现一个类似Visual Studio .NET但免费或廉价的Linux开发IDE也说不定。
    然而,所有这一切是否能够成为现实,依赖于Mono是否能够茁壮发展,也依赖于Mono与
    Windows平台上的.NET框架兼容或相似程度。另外一些因素也很关键,例如Mono的性能、
    GUI的友好程度等。  

    --

    ※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 211.66.26.105]
    上一篇
    返回上一页
    回到目录
    回到页首
    下一篇


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/9 2:25:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Dot NET,C#,ASP,VB 』的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/3/28 21:17:28

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms