Linux下.NET開發環境構建

來源:互聯網
上載者:User

     .net,C#,Asp.Net VisualStudio跟著微軟一步步走來,有成功,有喜悅,有收穫,但也有一種莫名的危機感,整理思路,規划下未來的道路:花四層左右的時間繼續跟著微軟的步伐,在比爾教主的大旗下繼續開拓疆土,同時花六成左右的時間將重心轉移到Linux,Php ,C/C++,Distributed File System於儲存,高並發、大資料量互連網架構上,看上去很多,當然夢想總是有的,只有一步一步往前走了!

   因此這兩天轉移到linux上折騰一番,把Linux上開發環境搭建起來了,首先是.NET開發環境。mono這個東西早就聽說了,引用網上的介紹: Mono是一個由Novell公司(由Ximian發起,並由Miguel de lcaza領導的,一個致力於開創.NET在Linux上使用的開源工程。它包含了一個C#語言的編譯器,一個CLR的運行時,和一組類庫,並實現了 ADO NET和ASP NET,能夠使得開發人員在Linux用C#開發程式。一句話mono就是Linux上的.netframework。下面介紹mono的安裝:

在下機器的環境ubuntu10.04。

1、首先到官網下載mono,版本是:mono-2.6.7.tar.bz2

2、解壓、編譯、安裝

root@localhost:/home/guoyuanwei/下載 # tar -jxvf mono-2.6.7.tar.bz2

將解壓後的檔案夾放到常用的放軟體的地方,我的是/usr/mysoft/目錄下:root@localhost:/home/guoyuanwei/下載# mv mono-2.6.7 /usr/mysoft/

root@localhost:/usr/mysoft/mono-2.6.7# ./configure --prefix=/opt/mono這個是配置安裝目錄,準備將軟體安裝在/opt/mono下。(特別注意:在configure 編譯過程中需要用到g++和其它一些相關的編譯工具,在編譯過程中可看報錯資訊,按照報錯資訊中提示安裝所需要的工具。像我這裡就有一個錯誤:configure: error: You need to install bison,意思所缺少bison這個東西,只有先安裝在配置了。下載bison-2.5.tar.gz 進行安裝。)

# make

# make install

完成mono的安裝。運行命令

root@localhost:/opt/mono/bin# mono 初步測試下看安裝是否成功。為了在任何地方都可以運行mono命令,下面修改下環境變數:

#vim /etc/profile

在檔案末尾加上以下配置:

MONO_HOME=/opt/mono

PATH=$MONO_HOME/bin:$PATH

CLASSPATH=.:$MONO_HOME/lib/

export MONO_HOME

export PATH

export CLASSPATH

讓/etc/profile檔案修改後立即生效 ,可以使用如下命令:
# source /etc/profile


完成後重新登入,即可在任意位置運行momo命令

下面通過幾個簡單程式測試下mono環境安裝所否正確

(1)建立一個hello.cs檔案,敲入如下代碼:如果熟悉windows下C#開發的話,一看就知道這就windows 下的控制台程式哦!

 

using System; public class HelloWorld{static public void Main (){Console.WriteLine ("Hello Mono World");} }

 

編譯檔案: root@localhost:/home/guoyuanwei/GYWStudy# gmcs hello.cs(注意:如果這個時候沒有安裝gmcs編譯器,會提示出錯程式“gmcs”尚未安裝。  您可以使用以下命令安裝:
apt-get install mono-gmcs,gmcs是C#的編譯器,支援2.0的運行時,現在最新的好像是4.0的運行時裡,命令所dmcs,可以查看官方文檔看看2.0的運行時支援哪些C#特性)

編譯成功後會生存一個hello.exe的檔案,運行下面命令,得到結果。

# mono hello.exe
Hello Mono World

(2)接下來在做個Windows表單程式的實驗。

using System;using System.Windows.Forms;public class HelloWorld : Form{static public void Main (){Application.Run (new HelloWorld ());} public HelloWorld (){Text = "Hello Mono World";}}

 Windows表單程式開發,你必須在linux下面安裝 System.Windows.Forms這個程式集所在的包,實際上就是一個GUI開發的工具包。不過在Linux下作windows表單程式的開發,感覺沒多大必要。選擇mono的原因就所為了利用C#強大的文法特性在linux上開發高效的軟體。

編譯:# gmcs hello.cs -pkg:dotnet(注意:這裡有一個編譯選項-pkg:dotnet,這個是添加程式集的應用,因為我們在程式裡面用到了標準的windows表單程式的命名空間,如果編譯出現找不到到包的錯誤,可能是環境變數的問題,添加一個環境變數PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig,這個是我的mono安裝路徑,具體情況看你的路徑)

運行:# mono hello.exe

結果彈出一個表單程式出來。

(3)Linux形介面軟體開發GTK#


using Gtk;using System; class Hello {         static void Main()        {                Application.Init ();                 Window window = new Window ("helloworld");                window.Show();                 Application.Run ();         }}

上面的程式用到了gtk庫,所以要安裝GTK#才能編譯通過,按照配置-》編譯-》安裝進行。

root@localhost:/usr/mysoft/gtk-sharp-2.12.11# ./configure --prefix=/opt/gtk-sharp

配置的過此中我遇到了次錯誤:

checking for csc.exe... no
configure: error: You need to install either mono or .Net

這個錯誤害人不淺,搞了我好幾個小時,表面上說是找不到csc.exe程式,實際上不是,是因為在配置的過程中找不到mono.pc這個檔案所造成的,而這個mono.pc在安裝後的mono下面。

所以需修改環境變數,增加一個PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig在檔案etc/profile中。

# make

# make install 安轉完畢。

有了此利器,linux下面的圖形介面軟體開發不再是難事。

 

 (4)上面的編碼,編譯,運行都所通過命令列完成,想想強大VisualStudio開發工具,在linux上自然也有,那就是monodevelop

 






 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.