Linux下.NET開發環境構建


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

   因此這兩天轉移到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-gmcsgmcs是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

 








 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM