我們知道 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 官方網站。祝大家編程愉快。