目的:
把公司用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或
新闻热点
疑难解答