Mono

Jump to: navigation, search
mono

Mono-Project Logo.svg.png



Developer: Miguel de Icaza
License: Mixed
Web: http://www.mono-project.com


Mono is an open source implementation of the .NET framework and the ECMA-334 (C# language) and ECMA-335 standards (CLI virtual execution system).

Mono is both a runtime and a software development kit (SDK). As a runtime, it is used to run applications developed with numerous languages including C#, VisualBasic, Boo, IronPython, Nemerle, F# and more. As an SDK, Mono provides a C# compiler and various tools to support development of applications in the ECMA scope.

Mono 1.2 was released in November 2006, and it contains for the first time support for migrating Windows.Forms applications.


Availability

Version: all
Newer versions are also available from the official Mono:Factory repository at OBS.

Version: non openSUSE
Latest versions for non-openSUSE distros can be found at the Mono Website


Stacks

Stacks: Microsoft-compatible, and Mono Ecosystem

Mono can run a number of different applications belonging to either the Mono stack, or the Microsoft-compatible stack.

For more details about the top projects in Mono, see Mono Plans page.

Microsoft-compatible stack

The following are the major technologies supported by Mono:

Porting Software to Linux

In particular, developers interested in porting applications from Windows to Linux using Mono can use the Mono Migration Analysis tool (Moma). Moma can be used on Windows or Linux and operates on compiled binaries and generates a report detailing which APIs are already supported by Mono and also lists any potential incompatibilities that your software might have when executed with Mono.

Optionally, users of Moma can submit the reports to our centralized system, this is used to prioritize the work that must be done to implement missing functionality or improve our compatibility.

Mono Stack

The Mono stack is a set of libraries that have been created specifically for Mono to take advantage of features available on Linux or Unix, and these include:

  • Cecil For manipulating CIL images.
  • Gtk# for creating Gtk applications for Linux and Windows.
  • Tao libraries for doing OpenGL and media-rich applications.
  • C5 Generic Collection Library.
  • Mono.Posix provides access to Unix APIs.
  • Mono.Cairo provides access to Cairo Graphics.
  • Crimson for extended cryptography.

Apache Integration

Mono's web stack is integrated with apache using the mod_mono package in openSUSE.

For details on configuring your system to handle ASP.NET applications using mod_mono, see the Mod_mono page in the Mono web site and the AutoHosting page.

Edit your configuration file, and add this line:

Include /etc/apache2/mod_mono.conf

Integrated Development Environment

MonoDevelop is an Integrated Development Environment (IDE) for C#, Boo, IronPython and Visual Basic developers that want to move their development environment to Linux.

Third Party Software

For information on third-party software, see:

Languages

Mono has extensive support for many programming languages in addition to C# 1.0 and C# 2.0, support for these languages is available: