Mono

Jump to: navigation, search
Mono
Mono-gorilla-aqua.100px.png
Mono Logo
开发者: Miguel de Icaza (Novell)
包信息(pin)
许可: Mixed
站点: http://www.mono-project.com

Mono.NET框架、ECMA-334(C#语言)和ECMA-335标准(CLI虚拟运行系统)的开源实现。

Mono包含了运行库和开发工具包(SDK)。作为运行库,它可以运行许多编程语言开发的程序,如C#、VisualBasic、Boo、IronPython、Nemerle、F#语言等。作为开发工具包,Mono提供了C#编译器和大量的工具来支持ECMA范围内开发应用程序。

Mono 1.2已经在2006年11月发布了,就已经支持Windows表单应用程序的迁移。

可用版本

Susemini.png
Version:
10.2
Mono 1.1.18.
可用的最新版本可从Mono项目获取

栈:微软兼容和Mono系统

Mono可以运行大量的Mono栈的或与微软栈兼容的应用程序。

如果您想获取更多的有关Mono项目的信息,请参见Mono计划页面。

微软兼容栈

下面的列表是Mono所支持的主要技术:

  • XML 栈。
  • ASP.NET 用于创建web应用程序, 基于AjaxPro的应用程序和基于SOAP的Web服务。
  • Windows.Forms 创建跨平台图形用户界面(GUI)应用程序的应用程序编程接口(API)。
  • ADO.NET 开发数据库应用程序的库。
  • 核心加密.
  • 事务.

移植软件到Linux

值得一提的是,Mono迁移分析 工具 (Moma)可以把Windows上的应用程序移植到Linux下,这是许多开发者都感兴趣的。Moma可以在windows和Linux上运行,控制编译的二进制文件,产生Mono所支持的API的详细报告和在用Mono运行软件任何时潜在的不兼容性的列表。

另外,Moma的用户可向中心系统提出报告,这个可用于我们确定实现缺失功能工作的优先级并提高我们的兼容性。

Mono 栈

Mono栈是一套库,利用Linux或Unix可用的特征而专门为Mono创建的库,它包括:

  • Cecil 操作 CLI 镜像。
  • Gtk# 创建用于Linux和Windows的GTK应用程序。
  • Tao 使用OpenGL和丰富媒体应用程序的库。
  • C5 通用收集库。
  • Mono.Posix 提供访问Unix的API。
  • Mono.Cairo 提供访问 Cairo 图形卡
  • Crimson 用于扩展的加密。

Apache 集成

在OpenSUSE中使用mod_mono包使得Mono的Web栈可以与Apache集成。

如您想获取如何配置您的系统来使用mod_mono处理ASP.NET应用程序,那么请访问Mod_mono页面和AutoHosting页面。

编辑您的配置文件,添加下面一行:

Include /etc/apache2/mod_mono.conf

集成开发环境

MonoDevelop是一个为 C#、Boo、IronPython和Visual Basic开发者们提供的Linux的集成开发环境,

MonoDevelop 特征:

  • IDE的核心功能
  • 项目管理
  • 智能感知与重构优化
  • 支持使用Gtk#的GUI项目设计
  • 与Subversion和CVS集成
  • Web服务集成
  • 支持国际化
  • 组件开发
  • 与pkg-config和Mono组件集成
  • 支持多种语言

第三方软件

如想获取更多的第三方软件的信息,请参见:

语言

Mono也支持除了C# 1.0和C# 2.0之外的许多编程语言,支持的语言有: