當微軟啟動它的.Net戰略時,其中的一個目標就是讓所制作的軟件運行在多種不同的平台上。
Mono,一個開源項目,能使.Net能在您的Linux(Linux教程 Linux培訓 )操作系統上運行。
如果你和我一樣,既用Microsoft的技術工作,也喜歡用Linux工作,那麼這個Mono就能幫助你我,你可以在這兩個平台上都可以寫C#(C#培訓 )程序。
到www.go-mono.com 下載Mono的最新安裝包。我看了一下,在我寫這篇文章時,該官方網上最新的Stable版本時Mono 1.1.13.8 。
在安裝Mono前,你必須確定你是否有GIMP Toolkit,Drawing Kit和pkg-config。你可以在rpmfind.Net上下載它們。建議下載最新的版本,如果你的Linux上原有了這些軟件,你也可能需要升級它們。
下面安裝這些軟件:
http://www.mscto.com
# rpm -Uvh glib2-2.0.0-1.i386.rpm
# rpm -Uvh glib2-devel-2.0.0-1.i386.rpm
# rpm -Uvh pkgconfig-0.12.0-1.i386.rpm http://www.mscto.com
接下來就是解壓Mono:
# tar -zxvf mono-1.1.13.8.tar.gz
接下來:
# ./configure
# make
# make install
當上面的都完成後,你的Linux系統就有了一個可以工作的Mono,它包括了Mono的C#編譯器,Mono的即時編譯器和mint(The Mono interpreter)。
下面就可以寫C#程序了。比如,嘿嘿,寫個最有名的Hellow World程序:
http://www.mscto.com
class Hello {
static void Main() {
System.Console.WriteLine(\"Hello World\");
}
}
呵呵,果然是經典。C#程序必須以.cs做後綴名。輸入程序並保存它,比如保存為HelloWorld.cs然後編譯它:
# mcs Hello.cs
如果你寫的程序都正確,那麼這個命令會生成一個名叫HelloWorld.exe的MSIL文件,然後你就可以使用這個文件:
http://www.mscto.com
# mint HelloWorld.exe
Hello World
mint interprter有很多可以選擇的命令包括 --trace 和 --debug,這些對調試很有作用。當你的程序已經完成了,你可以在JIT編譯器上編譯了:
# mono HelloWorld.exe
Hello World
公共語言運行庫提供了跨平台的能力。.NET程序可以在任何安裝了CLR的系統上運行。實際上,Mono的C#編譯器是在Windows平台上用Microsoft .Net Framework SDK編譯後再移到Linux平台上的。你可以把在Windows平台上編譯好的程序轉到Linux上並運行它。
Mono還沒有完全實現.Net Framework,但已經足夠讓你運行你想寫的程序了。開源的東西一般進化速度很快,也許很快就能完全滿足你的需求。
順便提一下,在gtk-sharp.sourceforge.Net上有個Gtk# 項目,它致力於給C#語言綁定gtk toolkit。它同時也致力於在Mono下提供和Windows.Forms兼容的庫。當然,從Windows遷移到Linux畢竟是有困難的,讓我們關注它的進展吧。