Mono
Mono
软件包包名:mono
开发者: Miguel de Icaza (Novell)
许可证: 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 表单应用程序的迁移。
栈
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 之外的许多编程语言,支持的语言有: