目的:
把公司用Visual Studio 2005開發的項目通過mono移植并運行在Linux平臺上。
前言:
以前沒接觸過Linux,更不要說在Linux上做什么移植和用mono做項目(更重要的這些都是英文的東西,T_T英語水平不好)。好在網絡部之前就裝好一臺Linux的機器,系統是openSUSE,因為openSUSE是Novell的,所以估計里面的mono環境已集成在里面,所以直接拿來用就行了,網上也有關于mono, xsp,mod_mono等的安裝教程。
Mono的1.2.5版本沒有ASP.NET的Desiger,但網上說可以在vs上開發移植到Linux上用。
環境:
openSUSE, mono, xsp2,mod_mono,apache2,moma
說明:xsp是mono自帶的一個簡單的web服務器,apache則是一個功能強大的web服務器(http服務器),mod_mono是一個模塊用于apache(apache是模塊化設計),關于apache后面會詳細介紹。
英文資料是這樣說的:
Mod_Mono is an Apache 1.3/2.0/2.2 module that provides ASP.NET support for the web's favorite server, Apache (http://httpd.apache.org).
XSP is a standalone web server written in C# that can be used to run your ASP.NET applications with minimal effort.
配置過程:
之前在openSUSE的虛擬機上運行其自帶的實例(桌面上的ASP.NET.Source文件夾,里面有一個index.html文件,算是個幫助文檔),實例代碼放到/srv/www/htdocs路徑上,在瀏覽器輸入URL:http://localhost/directoryname/page.aspx結果有些實例可以運行有些則不可以,而且還以為在Visual Studio 2005上開發的程序直接放到那個路徑上就可以直接運行,結果不行,錯誤提示應該是說找不到路徑。
那些不能運行的實例可能由于虛擬機的問題,所以就用一臺直接安裝上openSUSE系統,果然實例都可以運行,但自己在Visual Studio 2005上做的程序還是不行。分析原因得出:當初想在Visual Studio 2005上做的程序是不是不能直接拿到Linux上用而還要做些什么修改之類(實際上并不是這樣),/srv/www/htdocs是用于apache服務器的路徑,要做相應的配置(一頭霧水)。所以就用mono自帶的web服務器xsp,mono的官方網站就有介紹包括用法,http://www.mono-project.com/XSP,具體命令和執行如下。
# cd 路徑
路徑 # xsp2
Listening on address: 0.0.0.0
Root directory: 路徑
Listening on port: 8080
Hit Return to stop the server.
瀏覽器輸入URL:http://localhost:8080/page.aspx
值得注意的是C#1.0用xsp而C#2.0就用xsp2。結果用vs2005做的一個小程序可以順利運行,用Production_System系統做測試時一般頁面正常顯示但BillBoard的頁面就不能顯示,沒想到解決辦法就嘗試用apache。
有關apache安裝和配置的中文資料有很多,但提及到用于.net的并沒多少,只有零星的一些,所以只好先熟悉一下如何配置apache服務器。比較好的資料有Red Hat Linux 9網絡服務的第7章配置Apache服務器和Apache HTTP Server Version 2.2 文檔。最后結合http://www.mono-project.com/Mod_mono或
新聞熱點
疑難解答