Mono (software)

From Wiki Maui Linux NET
Revision as of 13:14, 20 October 2025 by Ten (talk | contribs) (Created page with "{{Infobox software | name = Mono | logo = Mono_project_logo.svg | developer = Novell (formerly), Xamarin, Microsoft, and community contributors | released = {{Start date|2004}} | latest_release_version = 6.12 | programming_language = C, C# | operating_system = Cross-platform | platform = .NET Framework implementation | genre = Software framework | license = MIT License, GNU...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Mono
File:Mono project logo.svg
Developer(s) Novell (formerly), Xamarin, Microsoft, and community contributors
Initial release

2004

Latest version 6.12
Programming language C, C#
Operating system Cross-platform
Platform .NET Framework implementation
Type Software framework
License MIT License, GNU General Public License (for some components)
Website Official website


Mono is an open-source implementation of the .NET Framework, originally developed by Ximian and later maintained by Novell, Xamarin, and now by Microsoft and the open-source community. It provides the ability to run .NET applications across multiple platforms, including Linux, macOS, and Windows.

Overview

Mono was created to bring the Microsoft .NET framework to non-Windows systems, allowing developers to build cross-platform applications in C# and other .NET languages. It includes a C# compiler, a Common Language Runtime (CLR) implementation, and a comprehensive class library compatible with the ECMA and Microsoft .NET specifications.

The project serves as the foundation for several other technologies, including GtkSharp and MonoDevelop (the cross-platform IDE).

Key components

  • Mono runtime – An implementation of the Common Language Infrastructure (CLI) and JIT compiler.
  • C# compiler (mcs) – The original C# compiler, later replaced by Roslyn in .NET Core.
  • Base Class Library (BCL) – Provides core APIs compatible with .NET Framework and .NET Standard.
  • Mono tools and SDKs – Includes debugging tools, build utilities, and packaging systems.
  • GtkSharp – A set of C# bindings for the GTK toolkit, built on top of Mono.

Compatibility

Mono aims for high compatibility with Microsoft’s .NET Framework (up to version 4.x) and with modern .NET (formerly .NET Core) through .NET Standard support.

It supports:

  • Cross-platform development on Linux, macOS, and Windows.
  • Mobile platforms via Xamarin.Android and Xamarin.iOS.
  • Integration with the GTK toolkit for desktop GUI applications.

Usage

Mono can be installed on most Unix-like systems via package managers or from source. Example command on Debian/Ubuntu:

sudo apt install mono-complete

After installation, C# code can be compiled and executed directly:

mcs hello.cs
mono hello.exe

Relationship with modern .NET

While Mono was initially an independent implementation, it has become an integral part of Microsoft’s open-source .NET ecosystem. Its technologies and runtime components are used in:

Mono continues to be maintained as part of the .NET Foundation projects, primarily for backward compatibility and embedded runtime use cases.

History

  • **2001:** Project initiated by Miguel de Icaza and Ximian.
  • **2003:** First public release.
  • **2004:** Novell acquires Ximian, taking over Mono development.
  • **2011:** Xamarin founded to continue Mono after Novell layoffs.
  • **2016:** Microsoft acquires Xamarin; Mono becomes part of .NET.
  • **2020+:** Mono runtime integrated into .NET 5+ as a lightweight cross-platform runtime.

See also

  • GtkSharp – .NET bindings for the GTK toolkit.
  • Gtk-Workload – .NET workload enabling GTK integration.