
Mono是一个多平台支持的开源的.NET framework的实现,支持的操作系统有Unix, Windows, MacOS 和一些其他操作系统。
Mono 2.0包括ADO.NET 2.0/ASP.NET 2.0/Windows.Forms 2.0/System.XML 2.0/System.Drawing/Linq/GTK#等类库的实现。还包括C# 3.0/VB 8/IL编译器和很丰富的工具。 这个release比1.x更为完整和成熟了。其中,C#编译器对C# 3的支持已经完整;标准库方面,WinForms 2.0的API已经完整支持,LINQ和ASP.NET的支持也比之前更为完善;执行引擎开始共享泛型代码后占用内存量减少了。
现在的MONO已经是完全胜任.NET 2.0的工作,并且有众多3.0的特性了,连Linq都有了,SQLite的Provider也有了,现在的MONO已经走出实验室,可以进行小规模的Linux平台上应用开发了。
Microsoft Compatible APIs
- ADO.NET 2.0 API for accessing databases.
- ASP.NET 2.0 API for developing Web-based applications.
- Windows.Forms 2.0 API to create desktop applications.
- System.XML 2.0: An API to manipulate XML documents.
- System.Core: Provides support for the Language Integrated Query (LINQ).
- System.Xml.Linq: Provides a LINQ provider for XML.
- System.Drawing 2.0 API: A portable graphics rendering API.
Mono APIs
- Gtk# 2.12: A binding to the Gtk+ 2.12 and GNOME libraries for creating desktop applications on Linux, Windows and MacOS X.
- Mono.Cecil: A library to manipulate ECMA CLI files (the native format used for executables and libraries).
- Mono.Cairo: A binding to the Cairo Graphics library to produce 2D graphics and render them into a variety of forms (images, windows, postscript and PDF).
- Mono's SQLite support: a library to create and consume databases created with SQLite.
- Mono.Posix: a library to access Linux and Unix specific functionality from your managed application. With both a low-level interface as well as higher level interfaces.
Third Party APIs bundled with Mono
- Extensive support for databases: PostgreSQL, DB2, Oracle, Sybase, SQL server, SQLite and Firebird.
- C5 Generics Library: we are bundling the C5 generics collection class library as part of Mono.
Compilers
These compilers are part of the Mono 2.0 release:
- C# 3.0 compiler implementation, with full support for LINQ.
- Visual Basic 8 compiler.
- IL assembler and disassembler and the development toolchain required to create libraries and applications.
Tools
Mono includes profiling tools, the standard development kit tools that are part of the .NET framework
- Debugger: this is the first release when we support a debugger for managed code.
- Gendarme: is an extensible rule-based tool to find problems in .NET applications and libraries. Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common problems with the code, problems that compiler do not typically check or have not historically checked.
- Mono Linker: a linker that allows developers to reduce the size of their executables and libraries by removing features from libraries using an XML definition of the desired public API.
- Mono Tuner: a tool to apply arbitrary user-defined transformations to assemblies. Mono uses this library to produce the Silverlight core libraries from the main system libraries.
- Mono Documentation Tools: the Mono Documentation framework has been upgraded to support documenting generics and extension methods. The tools can be used to produce online and offline documentation for any any APIs, and are used by the project to document our own APIs.
2.0 Release Notes: http://www.mono-project.com/Release_Notes_Mono_2.0
Mono Project Announces Mono 2.0 for Cross-Platform Microsoft .NET Development: http://www.novell.com/news/press/mono-project-announces-mono-2-0-for-cross-platform-microsoft-net-development/
Miguel de Icaza's :http://tirania.org/blog/archive/2008/Oct-06.html