mono 是一个由novell (浪威)公司主持的项目。该项目的目标是创建一系列合ecma 标准(ecma-334 和ecma-335)的.net 工具,包括c# 编译器和共通语言执行平台。与微软的.net framework 不同,
你想在windows上开发ios应用, 使用mono吧!,你想用c#开发开发android 应用,ios应用吧。 你想要你的客户运行程序不装.netframework 使用mono吧
mono 项目不仅可以运行于windows 系统上,还可以运行于linux,freebsd,unix,mac os x 和solaris。
mono 的开发工具 monodevelop
微软开发了一个称为共享源码公共语言基础(shared source common language infrastructure,shared source cli)的可用于 freebsd,windows 和 mac os x 的 .net 实现版本。微软的共享源码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途)。我们还可以见到另外一个 .net 实现版本,portable.net 项目,该项目与 mono 项目有着很多相同的目标。
mono 虚拟机包含一个实时编译引擎,该引擎可用于如下处理器:x86,sparc,powerpc,arm,s390(32位模式和64位模式),x86-64,ia64 和64位模式的 sparc。该虚拟机可以将代码实时编译或者预先编译到原生代码。对于那些没有列出来的系统,则使用的是代码解释器。
下图是mono的体系结构图
