From ArchWiki
Revision as of 19:28, 5 August 2010 by Jookia (Talk | contribs) (Added a section on blocking Mono.)

Jump to: navigation, search


Mono is an open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET.

The Arch Linux packages of mono have activated the experimental .NET 4.0 features, but be aware that it's maybe not stable. Those features are only related for developers, if you just use Mono to run applications written in Mono then you will be not affected by this.


First install mono with pacman:

# pacman -S mono

If you need VisualBasic.Net support you have to install the VisualBasic.Net interpreter with pacman:

# pacman -S mono-basic

Registering Mono Applications with the Kernel

You can execute binaries by calling mono manually

mono programsname.exe

It is also possible to tell the kernel to use mono as an interpreter for all Mono binaries. For doing this, just add mono to your daemons array in /etc/rc.conf and it will be automatically setup for you.

DAEMONS=( ..... mono .... )

Now try this:

chmod 755 exefile.exe

Testing Mono

Make a new file; test.cs

using System;

public class Test {
 public static void Main(string[] args) {
  Console.WriteLine("Hello World!");

Then run:

$ mcs test.cs
$ mono test.exe
Hello world!


Due to patent or other concerns, some may wish to block Mono from Arch Linux. To do this, simply open Template:Filename and simply ignore the mono and libgdiplus packages as such:

IgnorePkg=mono libgdiplus


Starting to develop in Mono/C# is very easy. Just install the MonoDevelop IDE and debugger support with pacman:

# pacman -S monodevelop monodevelop-debugger-gdb monodevelop-debugger-mdb

If you want the API documentation browser and some testing and development tools you have to install the mono-tools:

# pacman -S mono-tools

Resources & Links

Official Mono website

The Mono Handbook

The API reference of Mono

ECMA-334: C# Language Specification

ECMA-335: Common Language Infrastructure (CLI)