Mono
Mono 是 .NET 框架和 ECMA-334 (C# 语言) 和 ECMA-335 标准 (CLI 虚拟执行系统) 的一个开源实现。
Mono 既是一个运行时环境,也是一个软件开发工具包 (SDK)。作为运行时环境,它用于运行用多种语言开发的应用程序,包括 C#、VisualBasic、Boo、IronPython、Nemerle、F# 等。作为 SDK,Mono 提供了一个 C# 编译器和各种工具来支持在 ECMA 范围内开发应用程序。
- 常见问题 (FAQ).
- 截图.
Mono 1.2 于 2006 年 11 月发布,首次支持迁移 Windows.Forms 应用程序。
可用性
版本: all
较新的版本也可从官方 Mono:Factory 仓库 在 OBS 上获得。
版本: 非 openSUSE
适用于非 openSUSE 发行版的最新版本可以在 Mono 网站 上找到。
堆栈
Mono 可以运行属于 Mono 堆栈或 Microsoft 兼容堆栈的许多不同的应用程序。
有关 Mono 中顶级项目的更多详细信息,请参阅 Mono 计划 页面。
Microsoft 兼容堆栈
以下是 Mono 支持的主要技术
- XML 堆栈。
- ASP.NET 用于创建 Web 应用程序、AjaxPro-based 应用程序和基于 SOAP 的 Web 服务。
- Windows.Forms 用于创建跨平台 GUI 应用程序的 API。
- ADO.NET 库用于开发数据库应用程序。
- 核心密码学.
- 事务.
将软件移植到 Linux
特别是,有兴趣使用 Mono 将应用程序从 Windows 移植到 Linux 的开发人员可以使用 Mono 迁移分析 工具 (Moma)。Moma 可以在 Windows 或 Linux 上使用,并对编译后的二进制文件进行操作,生成报告,详细说明哪些 API 已经受 Mono 支持,并列出您的软件在 Mono 上执行时可能存在的任何不兼容性。
可选地,Moma 的用户可以将报告提交到我们的集中式系统,这用于确定必须完成的工作以实现缺失的功能或改进我们的兼容性。
Mono 堆栈
Mono 堆栈是一组专门为 Mono 创建的库,以利用 Linux 或 Unix 上可用的功能,这些功能包括
- Cecil 用于操作 CIL 镜像。
- Gtk# 用于为 Linux 和 Windows 创建 Gtk 应用程序。
- Tao 库用于进行 OpenGL 和富媒体应用程序。
- C5 通用集合库。
- Mono.Posix 提供对 Unix API 的访问。
- Mono.Cairo 提供对 Cairo Graphics 的访问。
- Crimson 用于扩展密码学。
Apache 集成
Mono 的 Web 堆栈使用 openSUSE 中的 mod_mono 包与 apache 集成。
有关配置系统以使用 mod_mono 处理 ASP.NET 应用程序的详细信息,请参阅 Mono 网站上的 Mod_mono 页面和 AutoHosting 页面。
编辑您的配置文件,并添加以下行
Include /etc/apache2/mod_mono.conf
集成开发环境
MonoDevelop 是一个集成开发环境 (IDE),适用于希望将开发环境迁移到 Linux 的 C#、Boo、IronPython 和 Visual Basic 开发人员。
第三方软件
有关第三方软件的信息,请参阅
语言
Mono 对许多编程语言都提供广泛的支持,除了 C# 1.0 和 C# 2.0 之外,这些语言的支持可用
- 语言支持
- C# 编译器 支持。
- Java 支持。
- JavaScript/ECMAscript 支持
- IronPython 支持。
- VisualBasic.NET

