关于Mono的技术
在博客园上经常有人提到Mono,我刚开始还认为仅仅是个开发工具而已,通过搜索,发现并不简单。其实Mono是一个集体的, 自发的开发项目, 旨在开发一个开放源代码的Linux版的Microsfot.NET 开发平台。 作为一个有机的.NET整体, 它包括一个C#编译器, 一个公用语言运行时环境, 以及相关的一整套类库。Mono项目将使开发者开发的.NET应用程序不仅能能在windows平台上运行, 也能在任何支持Mono的平台上运行, 包括Linux, Unix。 Mono项目将使大家能开发出各种跨平台的应用程序, 并能极大提高开源领域的开发效率。
Microsoft.NET是一套强大的GUI应用程序开发和Web Services (.NET开发框架)开发工具;一个提供给最终用户应用程序(比如web服务和大量其他企业产品)的用户身份识别和验证系统("Hailstorm")。.NET开发工具包括C#编译器, 公用语言构架(CLI)。它能使程序员用C#或其他语言编写的程序运行在非windows系统之上。 Microsoft和Corel最近宣布他们将在遵守Microsoft的"代码共享"许可下, 合作在FreeBSD平台上实现.NET。
随着C#以及CLI被提交给ECMA和W
与此相对, Mono项目为开放源代码的开发者提供了一个真正的"创建一次,随处部署"的工具包, 并能充分利用Microsft.NET的各项优点。Mono项目遵守GPL和LGPL的各项条款, 开发者能自由地编写, 并发布商业的或个人的应用程序;而这些, Microsoft的"代码共享"许可是做不到的。
Mono在他的开发构架中将提供三个关键部件, 以帮助开发者快速的在linux平台上开发、 部署、运行.NET的兼容程序: 一个延伸自GNOME平台的C#编译器, 他将使开发者能创建.NET相兼容的应用程序。这些开发者还将能在开放源代码的系统上使用和Microsoft CLI相兼容的类库来进行最终用户程序开发和web服务开发。 Mono还有一个Linux版的Microsfot公用语言运行时环境(CLR)的及时编译(JIT)引擎。 这样, Linux上就能运行在Windows, Linux, 或Unix平台上编写的程序了。 其类库和工具可从: http://www.mono-project.com/Main_Page下载和试用。
注:部分内容参照LinuxAid。
另外,还有几篇关于 Mono的,个人觉得对学习Mono有所帮助,链接如下:
1、《用Mono在linux下进行.net开发》,对如何在linux下用Mono进行.net开发讲的比较详细。
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39266522,00.htm
2、《在mono 上体验asp.net 》,是将项目移植到Mono上。http://cnblogs.com/chsfly/archive/2005/01/26/97733.aspx
3、《在RedHat Fedora Core 2下成功安装 Mono 1.0笔记》,对安装过程讲解的比较详细。