Linux下的C#开发环境

     Mono,一个开源项目,能使.NET能在您的Linux操作系统运行。通过Mono的帮助可以在Linux上编写C#程序。可以到www.go-mono.com上下载最新的Mono安装包。

     由于 Ubuntu 操作系统包括了“阿帖便笺(Tomboy)”和“F-Spot 照片管理器”这两个使用 C# 开发的应用程序,所以它已经包括了 mono 运行库,不需要另外安装。但是,要想使用 C# 编译器就必须使用 sudo apt-get install mono-devel 命令安装 mono 开发环境。

   如果需要使用 IDE 等更加强大的功能,可以通过 sudo apt-get install monodevelop 来安装 MonoDevelop ,这是一个使用 C# 以及其它 .NET 语言的集成开发环境。


MonoDevelop 支持以下四种格式的项目文件:

  1. MonoDevelop 1.0
  2. MSBuild (Visual Studio 2005)
  3. MSBuild (Visual Studio 2008)
  4. MSBuild (Visual Studio 2010)

这可以在点击“编辑 -> Preferences”菜单项后弹出的“选项”对话框中的“选项 -> 装入/保存”中设置,如下图所示: 

如果想实践敏捷软件软件开发,进行测试驱动开发,必须使用 sudo apt-get install monodevelop-nunit 命令来安装 NUnit 插件。然后,就可以新建一个 C# NUnit 项目了,如下图所示:

然后,点击“工程 -> Options”菜单项,在弹出的“工程选项”对话框中可以进行一些设置,例如我喜欢把 Tab width 设置为 2 个空格,并且转换 tabs 为空格,如下图所示:

然后就可以进行 C# 程序开发了。点击“运行 -> Run Unit Tests”菜单项就可以运行单元测试了,如下图如示:


话说,Mono发布了针对Visual Studio 2008的Add-on,现在可以用Visual Studio 2008开发在Linux上部署的.Net程序了。

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的友好程度等。

转载于:https://my.oschina.net/duhaizhang/blog/65312

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值