在Ubuntu上安裝和使用mono

來源:互聯網
上載者:User

微軟的.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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.