博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1847|回复: 3

在Ubuntu上安装和使用mono

[复制链接]
发表于 2010-2-25 12:23:49 | 显示全部楼层 |阅读模式
在Ubuntu上安装和使用mono开发者在线 Builder.com.cn    更新时间:2007-07-10作者:开发者在线    来源:开发者在线本文关键词:    .NET  Nick Gibson  mono  Ubuntu

微软的.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,但它仅能编译.NET1.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" runat="server" Text="Button"/>
<aspabel 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项目,一定要非常小心行事。
责任编辑:德东
查看本文国际来源
 楼主| 发表于 2010-2-25 12:25:32 | 显示全部楼层

mono官方解释

Mono is a software platform designed to allow developers to easily create cross platform applications.  Sponsored by Novell (http://www.novell.com/), Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.A growing family of solutions and an active and enthusiasticcontributing community is helping position Mono to become the leadingchoice for development of Linux applications.
 楼主| 发表于 2010-2-25 12:26:06 | 显示全部楼层

mono百度百科

Mono:Linux下的.NET开源工程  什么是MONO?MONO项目是由Ximian发起的,由Miguel delcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了ADO.NET和ASP.NET。能够使得开发人员在Linux用C#开发程序。
 楼主| 发表于 2010-2-25 12:29:17 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-5-3 22:36 , Processed in 0.107299 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表