在Ubuntu上安装和使用mono
来源:互联网 发布:人工智能之父 编辑:程序博客网 时间:2024/05/17 08:29
微软的.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项目,一定要非常小心行事。
- 在Ubuntu上安装和使用mono
- 在Ubuntu上安装Mono
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- 在Ubuntu操作系统上安装mono的具体方法
- 在Ubuntu操作系统上安装mono的具体方法
- 在ubuntu上安装和使用valgrind
- ubuntu 安装mono 和 jexus 和monoDevelop
- ubuntu安装mono和创建项目
- 在虚拟机上安装和使用Ubuntu日志
- 如何在 Ubuntu 上安装和使用 DropBox
- etckeeper在Ubuntu上的安装和使用
- Ubuntu下安装 Mono
- Ubuntu 安装mono
- 在ubuntu上安装,使用MQTT Mosquitto
- 在Ubuntu上安装使用Systemtap
- 在Ubuntu上安装并使用DetEval
- 看2位大神写的NPOI操作Excel的例子就可以了
- Android中获取正在运行的应用程序-----ActivityManager.RunningAppProcessInfo类详解 .
- hibernate3记录数据的增,删,该的操作日志记录(一)
- 企业管理软件的未来
- overflow:hidden同样会隐藏position:absolute的子元素
- 在Ubuntu上安装和使用mono
- 关于委托:异常{ 无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型 }
- C# windows form程序怎么读取项目的跟路径
- Blocks, Operations, and Retain Cycles
- asp.net 获取客户端ip
- (简单模拟2.4.1)POJ 2000 Gold Coins(确定大数字序列中的某一位置在小数字序列中的位置)
- asp.net中将gridview数据导出成Excel
- Android 定时执行任务 AlarmManager的使用(可用于闹钟开发)
- hdu4481 Time travel