今天看了 Installing and using mono on Ubuntu 這篇文章之後,測試了一下在Ubuntu中執行.Net的程式
該篇文章對Mono on Ubuntu 講的非常詳細,其中包括如何在Ubuntu中透過mono附帶的編譯器,編譯.Net程式
讓Ubuntu支援.Net WindowForms程式
該文作者是在Ubuntu底下,利用Mono的編譯器進行編譯,因此裝了許多的套件,但如果開發環境是在WIndows底下,而且覺得用命令列編譯 太麻煩,其實只要安裝mono、libmono-winforms1.0-cil、libmono-winforms2.0-cil三個套件,就可以直接 執行已經在Windows底下編譯好的.Net程式,因為在Windows有更好用的 MS Visual Studio跟SharpDevelop等RAD工具,確實可以省下很多麻煩。
Ubuntu中Mono的安裝指令為:
sudo apt-get install mono
sudo apt-get install libmono-winforms1.0-cil libmono-winforms2.0-cil
又或者使用Ubuntu的Synaptic套件管理程式來安裝更方便(用慣GUI介面的人 XD)
小小測試
我在SharpDevelop中使用C#寫了一些簡單的小東西來做測試,GUI的部份只使用最基本的WindowForms元件,編譯完成後,直接拿到Ubuntu底下,輸入:
mono 執行檔名.exe
該測試程式中使用了以下的.Net套件
- System
- System.Collections.Generic
- System.Drawing
- System.Windows.Forms
- System.Net
- System.Threading
- System.Collections
- System.Xml
- System.IO
- System.Text
執行結果,各個功能執行無誤,執行畫面如下:
如同該篇文章所說,Mono並無支援所有的WindowForms元件,後來又測試了使用ToolTip元件,發現無法執行,原因似乎是不支援氣泡提示。
結論
雖然很遺憾Mono仍尚未完全支援.Net所提供的套件,但是以目前支援的程度所能達到的應用,應該可以說數不完了。