De ontwikkelaars achter Mono hebben hebben maandag de belangrijke mijlpaal van versie 2.0 bereikt. Mono is een opensource implementatie van het .Net Framework. Door gebruik te maken van Mono kunnen ontwikkelaars crossplatform applicaties schrijven die niet alleen onder Windows zullen werken, maar ook op bijvoorbeeld Mac OS X en Linux. De software bevat onder andere een c#-compiler, een .Net compatible runtime en twee verschillende sets api's. De eerstgenoemde verzorgt compatibiliteit met Microsofts .Net Framework (inclusief ondersteuning voor asp.net, ado.net en een aantal andere componenten) en de andere biedt allerlei Linux- en Unix-specifieke functies. Hieronder kunnen de belangrijkste veranderingen uit de 2.0-release worden gevonden:
Microsoft Compatible APIsMono 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.
Third Party APIs bundled with Mono
- 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.
Compilers
- 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.
Tools
- 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.
[break]
- 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.