Mono

跳转到:导航搜索
第三个实例是



开发者: Miguel de Icaza
许可: 混合
网站: http://www.mono-project.com


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

Mono 既是一个运行时环境,也是一个软件开发工具包 (SDK)。作为运行时环境,它用于运行用多种语言开发的应用程序,包括 C#、VisualBasic、Boo、IronPython、Nemerle、F# 等。作为 SDK,Mono 提供了一个 C# 编译器和各种工具来支持在 ECMA 范围内开发应用程序。

Mono 1.2 于 2006 年 11 月发布,首次支持迁移 Windows.Forms 应用程序。


可用性

版本: all
较新的版本也可从官方 Mono:Factory 仓库 在 OBS 上获得。

版本: 非 openSUSE
适用于非 openSUSE 发行版的最新版本可以在 Mono 网站 上找到。


堆栈

堆栈:Microsoft 兼容堆栈和 Mono 生态系统

Mono 可以运行属于 Mono 堆栈或 Microsoft 兼容堆栈的许多不同的应用程序。

有关 Mono 中顶级项目的更多详细信息,请参阅 Mono 计划 页面。

Microsoft 兼容堆栈

以下是 Mono 支持的主要技术

将软件移植到 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 之外,这些语言的支持可用