2010年6月9日 星期三

在Ubuntu上執行.Net開發的程式

http://blog.colorbase.tw/programming/516

今天看了 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所提供的套件,但是以目前支援的程度所能達到的應用,應該可以說數不完了。