Mono

Mono is a free and open source project led by Xamarin (formerly by Novell and originally by Ximian) to create an Ecma standard compliant .NET Framework-compatible set of tools including, among others, a C# compiler and a Common Language Runtime.

In other words, Mono provides an open source method to both compile and run software for the .NET Framework. All of the department computers now have the tools needed to build projects and run your own .NET code written in C# or Visual Basic .NET.

To get started and learn more about the Mono platform go to their Getting Started page which provides introductions, articles and tutorials.

MonoDevelop is an open source Integrated Development Environment (IDE) targeted for the development of software that uses both Mono and Microsoft .NET frameworks. With features similar to that of NetBeans and Microsoft Visual Studio, MonoDevelop offers up tools such as automatic code completion, source control, a graphical user interface (GUI) and Web designer. Our installation of MonoDevelop provides support for C, C++, IL, Java, Python, Vala and Visual Basic .NET.

You can access MonoDevelop from the Development menu, or run the command monodevelop. A few articles and screencasts can be found at monodevelop.com.

Default Profile

Starting with the Summer 2012 build, the default profile for the mono CLI defaults to the 4.0 profile (similar to .NET 4.0). If you compile a .NET 2.0 program with gmcs and try to run it with moono you will likely encounter errors similiar to:

Missing method System.Type::op_Inequality(Type,Type) in assembly /usr/lib/mono/2.0/mscorlib.dll, referenced in assembly /usr/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Type.op_Inequality'.
  at Gtk.Window..ctor (System.String title) [0x00000] in <filename unknown>:0 
  at Hello.Main () [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method not found: 'System.Type.op_Inequality'.
  at Gtk.Window..ctor (System.String title) [0x00000] in <filename unknown>:0 
  at Hello.Main () [0x00000] in <filename unknown>:0 

Be sure to compile your code using the dmcs command. Alternatively you could run mono with the –runtime=v4.0 option.

Available Libraries

Here are the packages installed providing libraries. If there is something you need that is not installed just let Ben know.

Package Description
cairo-dock-plug-ins-dbus-interface-mono Mono interface to interact with Cairo-Dock by using DBus
cli-common common files between all CLI packages
gnome-desktop-sharp2 GNOME Desktop# 2.24 suite, CLI bindings for GNOME
gnome-sharp2 GNOME# 2.24 suite, CLI bindings for GNOME
gnome-sharp2-examples sample applications for GNOME# 2.24
gtk-sharp2 GTK# 2.10 suite, CLI bindings for GTK+
gtk-sharp2-examples sample applications for the GTK# 2.10 toolkit
gtk-sharp2-gapi C source parser and C# code generator for GObject based APIs
ikvm Java virtual machine for the CLI
libampsharp2.0-cil Asynchronous Messaging Protocol library for the CLI.
libantlr2.7-cil language tool for constructing recognizers, compilers etc
libappindicator0.1-cil CLI bindings for libappindicator
libart2.0-cil CLI binding for libart 2.3
libboo2.0.9-cil python-like language and compiler for the CLI - library files
libclutter-cil Open GL based interactive canvas library – CLI Bindings
libdbus1.0-cil CLI implementation of D-Bus
libdbus-glib1.0-cil CLI implementation of D-Bus (GLib mainloop integration)
libgconf2.0-cil CLI binding for GConf 2.24
libgdiplus interface library for System.Drawing of Mono
libglade2.0-cil CLI binding for the Glade libraries 2.6
libglib2.0-cil CLI binding for the GLib utility library 2.12
libgmime2.6-cil CLI binding for the GMime library
libgnome2.24-cil CLI binding for GNOME 2.24
libgnomedesktop2.20-cil CLI binding for GNOME Desktop 2.24
libgnome-keyring1.0-cil CLI library to access the GNOME Keyring daemon
libgnome-vfs2.0-cil CLI binding for GnomeVFS 2.24
libgstreamer0.9-cil CLI bindings to GStreamer
libgtk2.0-cil CLI binding for the GTK+ toolkit 2.12
libgtkglarea0.0-cil CLI bindings for the GTK OpenGL area widget
libgtkglarea-cil-examples gtkglarea-sharp examples
libgtkhtml3.16-cil CLI binding for GtkHTML 3.24
libgtk-sharp-beans-cil Supplementary CLI bindings for GTK 2.14+
libgtksourceview2-2.0-cil CLI binding for GtkSourceView 2.2
libhyena-cil set of utility libraries for the CLI
libikvm-native native library for IKVM.NET
libindicate0.1-cil CLI bindings for libindicate5
libindicate-gtk0.1-cil CLI bindings for libindicate-gtk3
liblog4net1.2-cil highly configurable logging API for the CLI
libmono-2.0-1 Mono JIT library
libmono2.0-cil Mono libraries (for CLI 2.0)
libmono-accessibility4.0-cil Mono Accessibility library (for CLI 4.0)
libmono-addins0.2-cil addin framework for extensible CLI applications/libraries
libmono-addins-gui0.2-cil GTK# frontend library for Mono.Addins
libmono-addins-msbuild0.2-cil MSBuild task library for Mono.Addins
libmono-c5-1.1-cil Mono C5 library
libmono-cairo2.0-cil Mono Cairo library (for CLI 2.0)
libmono-cairo4.0-cil Mono Cairo library (for CLI 4.0)
libmono-cecil-cil library to generate and inspect CIL assemblies
libmono-cecil-flowanalysis-cil FlowAnalysis extension for Mono.Cecil
libmono-cecil-private-cil Mono.Cecil library
libmono-cecil-vb0.9-cil Visual Basic 2010 Cecil libraries for Mono
libmono-codecontracts4.0-cil Mono.CodeContracts library (for CLI 4.0)
libmono-compilerservices-symbolwriter4.0-cil Mono.CompilerServices.SymbolWriter library (for CLI 4.0)
libmono-corlib2.0-cil Mono core library (for CLI 2.0)
libmono-corlib4.0-cil Mono core library (for CLI 4.0)
libmono-cscompmgd8.0-cil Mono cscompmgd library (for CLI 2.0)
libmono-csharp4.0-cil Mono.CSharp library (for CLI 4.0)
libmono-custommarshalers4.0-cil Mono CustomMarshalers library (for CLI 4.0)
libmono-data-tds2.0-cil Mono Data Library (for CLI 2.0)
libmono-data-tds4.0-cil Mono Data Library (for CLI 4.0)
libmono-db2-1.0-cil Mono DB2 library
libmono-debugger-soft2.0-cil Mono Soft Debugger library (for CLI 2.0)
libmono-debugger-soft4.0-cil Mono Soft Debugger library (for CLI 4.0)
libmono-http4.0-cil Mono.Http library (for CLI 4.0)
libmono-i18n2.0-cil Mono I18N libraries (for CLI 2.0)
libmono-i18n4.0-all Mono I18N libraries (for CLI 4.0)
libmono-i18n4.0-cil Mono I18N base library (for CLI 4.0)
libmono-i18n-cjk4.0-cil Mono I18N.CJK library (for CLI 4.0)
libmono-i18n-mideast4.0-cil Mono I18N.MidEast library (for CLI 4.0)
libmono-i18n-other4.0-cil Mono I18N.Other library (for CLI 4.0)
libmono-i18n-rare4.0-cil Mono I18N.Rare library (for CLI 4.0)
libmono-i18n-west2.0-cil Mono I18N.West library (for CLI 2.0)
libmono-i18n-west4.0-cil Mono I18N.West library (for CLI 4.0)
libmono-ldap2.0-cil Mono LDAP library (for CLI 2.0)
libmono-ldap4.0-cil Mono LDAP library (for CLI 4.0)
libmono-management2.0-cil Mono Management library (for CLI 2.0)
libmono-management4.0-cil Mono Management library (for CLI 4.0)
libmono-messaging2.0-cil Mono Messaging library (for CLI 2.0)
libmono-messaging4.0-cil Mono Messaging library (for CLI 4.0)
libmono-messaging-rabbitmq2.0-cil Mono Messaging RabbitMQ library (for CLI 2.0)
libmono-messaging-rabbitmq4.0-cil Mono Messaging RabbitMQ library (for CLI 4.0)
libmono-microsoft8.0-cil Mono Microsoft libraries (for CLI 2.0)
libmono-microsoft-build2.0-cil Mono Microsoft.Build libraries (for CLI 2.0)
libmono-microsoft-build-engine4.0-cil Mono Microsoft.Build.Engine library (for CLI 4.0)
libmono-microsoft-build-framework4.0-cil Mono Microsoft.Build.Framework library (for CLI 4.0)
libmono-microsoft-build-tasks-v4.0-4.0-cil Mono Microsoft.Build.Tasks.v4.0 library (for CLI 4.0)
libmono-microsoft-build-utilities-v4.0-4.0-cil Mono Microsoft.Build.Utilities.v4.0 library (for CLI 4.0)
libmono-microsoft-csharp4.0-cil Mono Microsoft.CSharp library (for CLI 4.0)
libmono-microsoft-visualbasic10.0-cil Visual Basic 2010 runtime libraries for Mono
libmono-microsoft-visualbasic8.0-cil Visual Basic 2005 runtime libraries for Mono
libmono-microsoft-visualc10.0-cil Mono Microsoft.VisualC library (for CLI 4.0)
libmono-microsoft-web-infrastructure1.0-cil Mono Microsoft.Web.Infrastructure library (for CLI 4.0)
libmono-npgsql2.0-cil Mono Npgsql library (for CLI 2.0)
libmono-npgsql4.0-cil Mono Npgsql library (for CLI 4.0)
libmono-opensystem-c4.0-cil Mono OpenSystem.C library (for CLI 4.0)
libmono-oracle2.0-cil Mono Oracle library (for CLI 2.0)
libmono-oracle4.0-cil Mono Oracle library (for CLI 4.0)
libmono-peapi2.0-cil Mono PEAPI library (for CLI 2.0)
libmono-peapi4.0-cil Mono PEAPI library (for CLI 4.0)
libmono-posix2.0-cil Mono.Posix library (for CLI 2.0)
libmono-posix4.0-cil Mono.Posix library (for CLI 4.0)
libmono-profiler Mono profiler libraries
libmono-rabbitmq2.0-cil Mono RabbitMQ.Client library (for CLI 2.0)
libmono-rabbitmq4.0-cil Mono RabbitMQ.Client library (for CLI 4.0)
libmono-reflection-cil CLI reflection helper library
libmono-relaxng2.0-cil Mono Relaxng library (for CLI 2.0)
libmono-relaxng4.0-cil Mono Relaxng library (for CLI 4.0)
libmono-security2.0-cil Mono Security library (for CLI 2.0)
libmono-security4.0-cil Mono Security library (for CLI 4.0)
libmono-sharpzip2.6-cil Mono SharpZipLib library (for CLI 2.0)
libmono-sharpzip2.84-cil Mono SharpZipLib library (for CLI 2.0)
libmono-sharpzip4.84-cil Mono SharpZipLib library (for CLI 4.0)
libmono-simd2.0-cil Mono SIMD (for CLI 2.0)
libmono-simd4.0-cil Mono SIMD (for CLI 4.0)
libmono-sqlite2.0-cil Mono Sqlite library (for CLI 2.0)
libmono-sqlite4.0-cil Mono Sqlite library (for CLI 4.0)
libmono-system2.0-cil Mono System libraries (for CLI 2.0)
libmono-system4.0-cil Mono System libraries (for CLI 4.0)
libmono-system-componentmodel-composition4.0-cil Mono System.ComponentModel.Composition library (for CLI 4.0)
libmono-system-componentmodel-dataannotations4.0-cil Mono System.ComponentModel.DataAnnotations library (for CLI 4.0)
libmono-system-configuration4.0-cil Mono System.Configuration library (for CLI 4.0)
libmono-system-configuration-install4.0-cil Mono System.Configuration.Install library (for CLI 4.0)
libmono-system-core4.0-cil Mono System.Core library (for CLI 4.0)
libmono-system-data2.0-cil Mono System.Data Library (for CLI 2.0)
libmono-system-data4.0-cil Mono System.Data library (for CLI 4.0)
libmono-system-data-datasetextensions4.0-cil Mono System.Data.DataSetExtensions library (for CLI 4.0)
libmono-system-data-linq2.0-cil Mono System.Data.Linq Library (for CLI 2.0)
libmono-system-data-linq4.0-cil Mono System.Data.Linq Library (for CLI 4.0)
libmono-system-data-services4.0-cil Mono System.Data.Services library (for CLI 4.0)
libmono-system-data-services-client4.0-cil Mono System.Data.Services.Client library (for CLI 4.0)
libmono-system-design4.0-cil Mono System.Design Library (for CLI 4.0)
libmono-system-drawing4.0-cil Mono System.Drawing library (for CLI 4.0)
libmono-system-drawing-design4.0-cil Mono System.Drawing.Design (for CLI 4.0)
libmono-system-dynamic4.0-cil Mono System.Dynamic library (for CLI 4.0)
libmono-system-enterpriseservices4.0-cil Mono System.EnterpriseServices library (for CLI 4.0)
libmono-system-identitymodel4.0-cil Mono System.IdentityModel Library (for CLI 4.0)
libmono-system-identitymodel-selectors4.0-cil Mono System.IdentityModel.Selectors Library (for CLI 4.0)
libmono-system-ldap2.0-cil Mono System.DirectoryServices library (for CLI 2.0)
libmono-system-ldap4.0-cil Mono System.DirectoryServices library (for CLI 4.0)
libmono-system-management4.0-cil Mono System.Management library (for CLI 4.0)
libmono-system-messaging2.0-cil Mono System.Messaging Library (for CLI 2.0)
libmono-system-messaging4.0-cil Mono System.Messaging library (for CLI 4.0)
libmono-system-net4.0-cil Mono System.Net library (for CLI 4.0)
libmono-system-numerics4.0-cil Mono System.Numerics library (for CLI 4.0)
libmono-system-runtime2.0-cil Mono System.Runtime Library (for CLI 2.0)
libmono-system-runtime4.0-cil Mono System.Runtime library (for CLI 4.0)
libmono-system-runtime-caching4.0-cil Mono System.Runtime.Caching Library (for CLI 4.0)
libmono-system-runtime-durableinstancing4.0-cil Mono System.Runtime.DurableInstancing Library (for CLI 4.0)
libmono-system-runtime-serialization4.0-cil Mono System.Runtime.Serialization Library (for CLI 4.0)
libmono-system-runtime-serialization-formatters-soap4.0-cil Mono System.Runtime.Serialization.Formatters.Soap Library (for CLI 4.0)
libmono-system-security4.0-cil Mono System.Security library (for CLI 4.0)
libmono-system-servicemodel4.0-cil Mono System.ServiceModel Library (for CLI 4.0)
libmono-system-servicemodel-discovery4.0-cil Mono System.ServiceModel.Discovery Library (for CLI 4.0)
libmono-system-servicemodel-routing4.0-cil Mono System.ServiceModel.Routing Library (for CLI 4.0)
libmono-system-servicemodel-web4.0-cil Mono System.ServiceModel.Web Library (for CLI 4.0)
libmono-system-serviceprocess4.0-cil Mono System.ServiceProcess library (for CLI 4.0)
libmono-system-transactions4.0-cil Mono System.Transactions library (for CLI 4.0)
libmono-system-web2.0-cil Mono System.Web Library (for CLI 2.0)
libmono-system-web4.0-cil Mono System.Web library (for CLI 4.0)
libmono-system-web-abstractions4.0-cil Mono System.Web.Abstractions library (for CLI 4.0)
libmono-system-web-applicationservices4.0-cil Mono System.Web.ApplicationServices library (for CLI 4.0)
libmono-system-web-dynamicdata4.0-cil Mono System.Web.DynamicData library (for CLI 4.0)
libmono-system-web-extensions4.0-cil Mono System.Web.Extensions library (for CLI 4.0)
libmono-system-web-extensions-design4.0-cil Mono System.Web.Extensions.Design library (for CLI 4.0)
libmono-system-web-mvc1.0-cil Mono ASP.NET MVC Library (for CLI 2.0)
libmono-system-web-mvc2.0-cil Mono ASP.NET MVC Library (for CLI 2.0)
libmono-system-web-routing4.0-cil Mono System.Web.Routing (for CLI 4.0)
libmono-system-web-services4.0-cil Mono System.Web.Services (for CLI 4.0)
libmono-system-windows-forms4.0-cil Mono System.Windows.Forms Library (for CLI 4.0)
libmono-system-windows-forms-datavisualization4.0-cil Mono System.Windows.Forms.DataVisualization Library (for CLI 4.0)
libmono-system-xaml4.0-cil Mono System.Xaml Library (for CLI 4.0)
libmono-system-xml4.0-cil Mono System.Xml library (for CLI 4.0)
libmono-system-xml-linq4.0-cil Mono System.Xml.Linq library (for CLI 4.0)
libmono-tasklets2.0-cil Mono Tasklets library (for CLI 2.0)
libmono-tasklets4.0-cil Mono Tasklets library (for CLI 4.0)
libmono-wcf3.0-cil Mono WCF libraries (for CLI 2.0)
libmono-web4.0-cil Mono.Web library (for CLI 4.0)
libmono-webbrowser2.0-cil Mono Web Browser library (for CLI 2.0)
libmono-webbrowser4.0-cil Mono Web Browser library (for CLI 4.0)
libmono-webmatrix-data4.0-cil Mono WebMatrix.Data Library (for CLI 4.0)
libmono-windowsbase3.0-cil Mono WindowsBase library (for CLI 2.0)
libmono-windowsbase4.0-cil Mono WindowsBase library (for CLI 4.0)
libmono-winforms2.0-cil Mono System.Windows.Forms library (for CLI 2.0)
libmysql6.4-cil MySQL database connector for CLI
libndesk-dbus1.0-cil CLI implementation of D-Bus
libndesk-dbus-glib1.0-cil CLI implementation of D-Bus (GLib mainloop integration)
libnini1.1-cil CLI library for managing configuration files
libnotify0.4-cil CLI library for desktop notifications
libnunit2.5-cil Unit test framework for CLI
libopentk1.0-cil Open Toolkit wrapper for OpenGL, OpenAL and OpenCL
libpoppler-cil PDF rendering library – CLI bindings
librsvg2-2.18-cil CLI binding for RSVG 2.22
libsemweb1.0-cil Semantic Web/RDF library
libtaglib2.0-cil CLI library for accessing audio and video files metadata
libvirtuoso5.5-cil high-performance database - Mono assemblies
libvte0.16-cil CLI binding for VTE 0.16
libwebkit1.1-cil CLI binding for the WebKit library
libwnck2.20-cil CLI binding for wnck 2.24
libzeitgeist0.8-cil CLI bindings for Zeitgeist Project
mono-2.0-gac Mono GAC tool (for CLI 2.0)
mono-2.0-service Mono service manager for CLI 2.0
mono-4.0-gac Mono GAC tool (for CLI 4.0)
mono-4.0-service Mono service manager for CLI 4.0
mono-addins-utils Command-line utility for Mono.Addins management
mono-complete complete Mono runtime, development tools and all libraries
mono-csharp-shell interactive C# shell
mono-devel Mono development tools
monodevelop Development Environment for GNOME
monodevelop-database Database plugin for MonoDevelop
monodevelop-java Java plugin for MonoDevelop
monodevelop-nunit NUnit plugin for MonoDevelop
monodevelop-python Python plugin for MonoDevelop
monodevelop-vala Vala plugin for MonoDevelop
monodevelop-versioncontrol VersionControl plugin for MonoDevelop
mono-dmcs Mono C# 4.0 compiler for CLI 4.0
monodoc-base shared MonoDoc binaries
monodoc-gtk2.0-manual compiled XML documentation for GTK# 2.10
monodoc-manual compiled XML documentation from the Mono project
mono-gac Mono GAC tool
mono-gmcs Mono C# 2.0 and C# 3.0 compiler for CLI 2.0
mono-jay LALR(1) parser generator oriented to Java/CLI
mono-mcs Mono C# 2.0 / 3.0 / 4.0 compiler for CLI 2.0 / 4.0
mono-profiler Mono profiler
mono-runtime Mono runtime
mono-runtime-sgen Mono runtime - SGen (experimental)
mono-tools-devel Various development tools for mono
mono-tools-gui Various GUI tools for mono
mono-utils Mono utilities
mono-vbnc Mono Visual Basic Compiler (VB.NET)
mono-xbuild MSBuild-compatible build system for Mono