您的位置:首页 > 运维架构 > Linux

浅谈 Linux 的 C# 开发环境[转]

2009-11-19 17:37 316 查看
转自:/article/4676294.html

浅谈 Linux 的 C# 开发环境

我们知道 mono
是一个跨平台的、开源的 .NET
开发框架。它是 Novell
公司基于 SUSE
Linux 操作系统开发的。

虽然在 openSUSE 操作系统下开发 C# 程序可以轻松获得最新的 mono 开发环境,但是我更喜欢 Ubuntu
操作系统。



由于 Ubuntu 操作系统包括了“阿帖便笺(Tomboy
)”和“F-Spot
照片管理器”这两个使用 C# 开发的应用程序,所以它已经包括了 mono 运行库,不需要另外安装。

但是,要想使用 C# 编译器就必须使用 sudo apt-get install mono-devel 命令安装 mono 开发环境。

然后,在使用 vi 或者 gedit 编辑 C# 源程序后,就可以使用 gmcs 来编译了。



上图就是使用 vi 编辑 C# 源程序的例子。想必老资格的 Unix 程序员大部分都有 vi 情结吧




上图是使用 gedit 来编辑 ClrInfo.cs 的例子。

ben@ben-m4000t:~/work$ mono --version


Mono JIT compiler version 2.4.2.3 (Debian 2.4.2.3+dfsg-2)

Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com

TLS:           __thread

GC:            Included Boehm (with typed GC)

SIGSEGV:       altstack

Notifications: epoll

Architecture:  amd64

Disabled:      none

ben@ben-m4000t:~/work$ gmcs --version

Mono C# compiler version 2.4.2.3

ben@ben-m4000t:~/work$ gmcs ClrInfo.cs

ben@ben-m4000t:~/work$ ./ClrInfo.exe

OS  Version: Unix 2.6.31.14

CLR Version: 2.0.50727.1433

Default Encode: System.Text.UTF8Encoding

ben@ben-m4000t:~/work$


上面就是 ClrInfo 程序编译和运行的情况。

同样的 ClrInfo 程序在 Windows Server 2003 R2 Enterprise Edition 中的运行结果如下所示:

D:/work> ClrInfo.exe

OS  Version: Microsoft Windows NT 5.2.3790 Service Pack 2

CLR Version: 2.0.50727.3603

Default Encode: System.Text.DBCSCodePageEncoding

D:/work>


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



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

MonoDevelop 1.0

MSBuild (Visual Studio 2005)

MSBuild (Visual Studio 2008)

MSBuild (Visual Studio 2010)

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



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



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



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



更多的资料请参见 mono
官方网站。祝大家编程愉快。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: