如何在Linux上运行Mono

如何在Linux上运行Mono,第1张

Mono声称支持Linux、Solaris、Free

BSD和MS

Windows;除了Intel

x86系列的CPU(486,各类Pentium等)之外,据说还要支持Sparc、PowerPC和StrongArm处理器。

下面就来看看如何在Linux上运行Mono。

命令行应用

先从Mono主页(http://www.go-mono.com/)下载软件,执行下面的命令安装所有RPM:

rpm

-ivh

*.rpm

安装完成后,所有基本的动态执行库,包括System.Data.dll、System.dll、System.Drawing.dll、System.Web.dll和System.Xml.dll都被复制到/usr/lib下。接下来,在Linux文本编辑器中输入下面的内容,把文件保存为HelloMono.cs:

class

HelloMono

{

public

static

void

Main(string[

]

args)

{

System.Console.WriteLine("Hello

Mono")

}

}

执行下面的命令编译C#文件:

mcs

HelloMono.cs

mcs是Mono的C#命令行编译器。与MS

.NET

SDK的csc编译器相似,mcs也有很多命令行选项

。上面的命令将生成可执行文件HelloMono.exe。注意这个执行文件不是Linux执行文件,

而是一个.NET执行文件,或者说,这个文件的可执行代码形式是中间语言(IL,Intermed

iate

Language)。要运行这个执行文件,必须执行如下命令:

mono

HelloMono.exe

Linux控制台上将显示出"Hello

Mono"。关于mcs和Mono的更多说明,请执行man

mcs或man

mono参考其man文档。

GUI应用

Mono不支持Windows

Forms,但在C#编程中可用GTK

#编写GUI。GTK

#是GTK+图形库的C#支

持工具,可从http://gtk-sharp.sourceforge.Net/下载。下载完成后,先要安装RPM:

rpm

-Uvh

*.rpm

--nodeps

解开gtk-sharp-0.2.1.tar.gz:

tar

-zxvf

gtk-sharp-0.2.1.tar.gz

进入子目录gtk-sharp-0.2.1,执行:

./configure

--prefix=/usr

make

make

install

完成这一步骤之后,重新启动一次。与GTK#有关的所有动态代码模块(gtk-sharp.dll、atk-sharp.dll、gdk-sharp.dll、glib-sharp.dll以及pango-sharp.dll)都会被复制到/usr/lib目录,编译用GTK#制作GUI的C#程序时,必须通过-r参数引用它们。GTK#下载包中包含了几个示例程序,如HelloWorld.cs、Menu.cs、ButtonApp.cs等。编译这些文件的命令如下:

mcs

-r

gtk-sharp

-r

glib-sharp

HelloWorld.cs

mcs

-r

gtk-sharp

-r

glib-sharp

-r

System.Drawing

Menu.cs

mcs

-r

gtk-sharp

-r

glib-sharp

-r

System.Drawing

ButtonApp.cs

下面来看看如何通过-r选项引用前面各个.dll动态模块。执行startx命令启动X

Window,进入终端窗口,再进入示例程序所在目录,执行下面的命令分别运行各个程序:

mono

HelloWorld.exe

mono

Menu.exe

mono

ButtonApp.exe

Mono项目还在完善和发展之中,还没有移植好全部.NET类。但不管怎样,它对许多人来说将是一个好消息。有关Mono

C#类库移植进展的信息,请访问www.gomono.com/class-status.html。

一、安装依赖关系包

代码如下:

yum install gcc bison pkgconfig glib2-devel gettext make gcc-c++ libstdc++-devel libgdiplus-devel

二、下载源码并解压

代码如下:

#下载地址在http://ftp.novell.com/pub/mono/sources/mono/

#我下载的是2.10.2《/p》 《p》cd /usr/local/src

wget -c http://ftp.novell.com/pub/mono/sources/mono/mono-2.10.2.tar.bz2

tar xf mono-2.10.2.tar.bz2

cd mono-2.10.2

三、编译安装

代码如下:

。/configure --prefix=/usr/local/mono

make

make install

四、为使用mono的用户增加环境变量

代码如下:

#在这个用户的~/.bash_profile时增加

export PKG_CONFIG_PATH=/usr/local/mono/lib/pkgconfig:

export

PATH=/usr/local/mono/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

#重新加载一下

source ~/.bash_profile

五、测试

代码如下:

/usr/local/mono/bin/mono-test-install

Active Mono: /usr/local/mono/bin/mono《/p》 《p》Your have a working System.Drawing setup

Your file system watcher is: System.IO.InotifyWatcher

如果没有做第四步会发现报下边这个错误:

代码如下:

/usr/local/mono/bin/mono-test-install

Active Mono:

Warning: pkg-config could not find mono installed on this system

No dotnet pkgconfig found, Windows.Forms, System.Drawing and others will not work

上面就是Linux服务器下编译安装mono笔记的方法介绍了,按照上面的步骤就能快速的编译安装mono笔记,是不是很方便

MS SQL必须用外部windows服务器解决 ,而.net 完全可以在windows下开发 linux下用mono部署

但是我实在觉得这是个蛋疼的决策 哎

简单说下安装方式

1 安装Mono

Mono是一个由Novell公司(先前是Ximian)主持的项目.该项目的目标是创建一系列符合标准ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #编译器和共同语言(CL 即 Common Language)执行平台(Platform). Mono项目不仅可以运行Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris.

这里需要说明的是,安装mono的目录需要指定为/usr,否则会出现503之类的错误。编译mono的时间会比较长,在编译会有一些警示,这些不会影响到后面的正常编译。

tar jxvf mono-2.2.tar.bz2

cd mono-2.2

./configure --prefix=/usr

make

make install

安装完成后输入:mono回车会显示mono的相关信息,反之就什么都没有。

2.安装xsp

xsp是asp.net的解析执行引擎,xsp相当于jsp/apache环境的tomcat。

tar jxvf xsp-2.2.tar.bz2

cd xsp-2.2

./configure --prefix=/usr

make

make install

安装完成后在终端输入:xsp --root/usr/lib/xsp/test回车

然后在浏览器中输入:http://localhost:8080/出现欢迎xsp界面

3.安装mod-mono支持

mod_mono是apache到xsp的连接器,mod_mono相当于jsp/apache环境的mod_jk(或 mod_jk2)。

tar jxvf mod_mono-2.2.tar.bz2

cd mod_mono-2.2

./configure --with-apxs=/usr/local/apache2/bin/apxs

make

make install

安装完成 ,

以上要求你已经安装好apache2

MS SQL数据库实在没有Linux下的解决方案 ,除非你选用 Mysql ,postgreSql 或者Oracle .


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6067084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存