现在的位置: 首页 > 综合 > 正文

在Ubuntu上安装和使用mono

2013年09月19日 ⁄ 综合 ⁄ 共 2645字 ⁄ 字号 评论关闭

微软的.NET框架与Linux开发和管理,是Buider AU和一个更广泛行业的两个最流行的主题。

大多数时候,这两个主题往往会产生冲突,很少有开发者需要同时了解这两个工具。但是,许多人都没意识到,其实我们可以通过开源mono计划,把二者组合起来。本文将说明如何在Linux上安装mono并运行基本的.NET应用程序。

首先你需要使用apt-get安装基本mono软件包。此时最好安装其它两个软件包:monodevelop——一个在某些方面类似于Visual Studio(虽然远不如Visual Studio复杂)的mono开发环境,和提供帮助和技术文档的monodoc。

启动一个根终端并输入:

% apt-get install mono monodevelop monodoc

 

完成后,mono应用即准备就绪,但这时你最好添加一些你需要的附加件。

% apt-get install mono-utils mono-xsp monodoc-http

如果你要从终端进行一部分开发工作,mono-utils可为你提供一些有用的实用工具。monodoc-http以Web服务方式提供 monodoc手册,它需要mono-xsp独立Web服务器才能运行。mono包括mono C#编译器mcs,但它仅能编译.NET 1.1代码,如果你希望使用.NET 2.0 C#特性(如非常有帮助的generics),那么你就需要gmcs:

% apt-get install mono-gmcs

如果你计划使用monodevelop编写你的代码,那么你可以安装一些SVN、Java、NUnit、Boo和MonoQuery支持的许多软件包:

% apt-get install monodevelop-versioncontrol monodevelop-java monodevelop-nunit monodevelop-boo monodevelop-query

同样,如果你计划使用monodoc(强烈建议使用),你可以为你将要用到的工具箱安装手册。

% apt-get install monodoc-nunit-manual monodoc-ipod-manual monodoc-gtk2.0-manual

 

在编写代码前,让我们了解一下我们刚才安装的一些工具。monodoc浏览器让你查看你安装的mono相关手册,包括有益的C#语言规范参考。

 

或者,如果你愿意的话,你也可以在Web浏览器中阅读该文档。monodoc-http程序启动一个本地运行的XSP服务器,允许你与任何Web浏览器建立连接。

 

 

如果你愿意,你还可以启动monodevelop IDE,虽然在我们使用的例子中,你不需要这么强大的功能。

现在我们通过试用一些代码,检查整个mono软件包。以标准的C# Hello World程序为例:

using System;

namespace Hello {

class HelloWorld {

public static void Main(string[] args) {

Console.WriteLine("Hello World!");

}

}

}

用mcs编辑后,通过mono命令运行;其结果如下:

 

上述代码正常运行,但这是一个非常简单的例子,它并不包括.NET最常用的部分:Windows Forms。下面我们来看看一个简单的Windows Forms应用程序是否能够运行。首先确保安装了相关的库:

% apt-get install libmono-winforms1.0-cil libmono-winforms2.0-cil

以下是源代码:

using System;

using System.Windows.Forms;

namespace HelloClickWorld {

public class Hello : Form {

public static void Main (string[] args) {

Application.Run (new Hello ());

}

public Hello ()

{

Button button = new Button ();

button.Text = "Click...";

button.Click += new EventHandler (Button_Click);

Controls.Add (button);

}

private void Button_Click (object sender, EventArgs e)

{

MessageBox.Show ("Hello Click World!");

}

}

}

这次编译程序集要更复杂一些,因为你需要告诉C#编译器包括Windows Forms库:

% mcs -r:System.Windows.Forms hiclickworld.cs

% mono hiclickworld.exe

 

最后你需要保证ASP.NET能够正常工作。以index.aspx为文件名保存以下代码:

<%@ Page Language="C#" %>

<script runat="server">

void Button1_Click(object sender, EventArgs e)

{

Label1.Text = "Hi Click World!";

}

</script>

<html>

<head>

<title>Hello World</title>

</head>

<body>

<form runat="server">

<asp:Button id="Button1" OnClick="Button1_Click" runat="server" Text="Button"/>

<asp:Label id="Label1" runat="server"/>

</form>

</body>

</html>

然后在那个目录中启动一个xsp服务器。

 

最后一步,在Web浏览器中输入http://localhost:8080/,检查你用Linux新建的ASP.NET网站:

 

如果一切功能运转正常,那么全部mono即安装完毕,这时你应该可以在Linux或Windows上开发应用程序,并在任意一个系统中进行部署。

警告:mono并不是一个完美的替代品,.NET框架的一些功能当前不能在mono中运行,特别是在Windows Forms部分;因此,如果你准备在mono中执行一些复杂的应用,或移植一个现有的.NET项目,一定要非常小心行事。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lixinye0123/archive/2008/01/20/2054674.aspx

抱歉!评论已关闭.