RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Mono Development 101: Build Linux Desktop Apps with .NET

Mono and the MonoDevelop IDE let you build Linux desktop applications using the .NET Framework. Find out how an open source guy with minimal .NET experience did it.


I've spent the majority of my career focused entirely on open source Web development, having only occasionally dabbled in .NET development. Of course, the great thing about the open source community is that if you do happen to need a particular application, chances are somebody else has already created it. But what if it doesn't exist, or if an existing application doesn't work precisely as you believe it should?

I recently encountered this very problem when searching for streaming radio applications (plenty such applications exist, I just don't like any of them), and concluded that perhaps the only way to scratch this particular itch was to build my own application. This decision immediately prompted two questions: how in the heck are Linux desktop applications built in the first place, and could I harness my minimal .NET experience in the process?

As it turns out, there are quite a few open source solutions, but one in particular happens to be .NET-specific. That solution is Mono, an open source, cross platform C# implementation. In this article I'll document how I've begun using Mono.

Installing Mono

Several Ubuntu applications are built atop Mono, including Banshee and F-Spot. Because both are installed by default on Ubuntu, so is Mono. However if you're running another platform, or had previously uninstalled Mono, you can install it either via your Linux distribution's package manager, or by downloading it from the Mono website. Versions are available for Windows, OS X, SLES, and a slew of Linux distributions. Once installed you can make sure everything is running properly by opening a terminal and running the Mono compiler:

mono --version
Mono JIT compiler version 2.4.4 (Debian 2.4.4~svn151842-1ubuntu4)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
   TLS:           __thread
   GC:            Included Boehm (with typed GC)
   SIGSEGV:       altstack
   Notifications: epoll
   Architecture:  x86
   Disabled:      none

Choosing a Mono IDE

After installing Mono (or making sure it is installed), the next step is to find a capable IDE. The Mono website highlights two IDEs in particular: MonoDevelop, an open source, cross-platform IDE, and Visual Studio, Microsoft's flagship .NET development suite (by way of the Mono Tools Add-in). I chose the former, installing it via Ubuntu's package manager, and so will concentrate specifically on MonoDevelop for the remainder of this article.

Other IDEs also offer Mono support, including notably Eclipse. See this summary for a complete list of available options.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date