Last Update: Dec 31, 2022

Check out my YouTube Channel!

Want to run and build .Net applications on your Raspberry Pi? In this article I’ll show you how. With Mono you can develop and run .Net applications on your Raspberry Pi. I got a few emails about this, so I decided to create a quick tutorial.

What’s the Purpose here?

If you’re thinking of running your favorite Windows .Net applications, or setup a fancy ASP.NET server, you may be disappointed. While Mono does a great job and the Raspberry Pi performs great for what it is, I wouldn’t say this solution is ready for the big leagues, and definitely not something you want to do in a production or commercial environment.

If you want to tinker around and learn C#, and maybe build a few cool apps this is a great way to do it. The Raspberry Pi is a great tool for learning, and that’s the purpose of this project.

How to run .NET on Raspberry Pi

There are tons of MONO applications available in Raspbian but we’re only going to cover some basics.

Install Mono

Mono is an awesome project that brings .Net to Linux. It’s available for the Raspian image, and super easy to set up.

Update your repos:

sudo apt-get update

And install the Mono Runtime:

sudo apt-get install mono-runtime

This one could take a while. It updated a lot of stuff on my system.

sudo apt-get install mono-mcs

Note about MonoDevelop: You can install this on a soft float install of Raspian or Arch but it’s not the best performing application in these conditions. Mono still has a lot of problems with the Pi that need to be ironed out, and MonoDevelop is a long ways off.

Build a quick application.

Load up LeafPad (or whatever your favorite text editor is) and create a file called monotest.cs and save it somewhere where you’ll find it.

Enter the following code:

using System;

namespace Test
{
	class Program
	{
		public static void Main()
		{
			Console.WriteLine("Hello! This is a Mono app running on {0}", Environment.OSVersion);
		}
	}
}

Now, open up an LX Terminal and go to where this file is located (I just put it in a folder called monotest as well). Type in the following:

mcs monotest.cs

This should only take a couple seconds. Then list the files in your directory (using the ls command) you will see a new file:

monotest.cs
monotest.exe

Now, you can run the monotest.exe by typing in:

mono monotest.exe

You will see something like this:

How to run .NET on Raspberry Pi

And you’re ready to go! If you see this, that means it worked.

So what can you do now?

You can write basic C# console applications all day with this setup. You can build neat automation items, and even some GUI stuff if you really want to dig into it. You can write .Net 1.0 - 4.0 applications with varying success. The most valuable thing you do is learn some C# basics and experiment like crazy.

C# is one of my favorite languages, so it’s awesome to see options for playing with it without being forced to use Windows and Visual Studio, which are great tools but expensive for hobbyists. As I said this is nowhere near something for production use, but excellent for tinkering and learning which is of course what the Raspberry Pi is all about!


Want to learn more about the Raspberry Pi? Check out the Raspberry Pi for Developers course!



Published: Mar 28, 2013 by Jeremy Morgan. Contact me before republishing this content.