General information about .NET, Silverlight, WPF, WCF and everything else

Monday, May 12, 2014

How to build Mono 3.4.0 / 3.4.1 on Windows

Introduction

This article builds on and updates a number of existing articles which attempt to describe the build process for Mono on Windows.

If you are just looking for Mono 3.4.0 binaries to use, I have provided the resulting binaries from this walk-through here.

The baseline instructions from the Mono project can be found here.

In theory these should be enough to get Mono compiled but, as ever in the real world, things are slightly more complex. As a result others have written pieces on how to build Mono, and I have found "Building Mono on Windows: The Final Battle" particularly useful.

That said, these articles are now a few years old and I ran into various issues building Mono which I have attempted to address with the walk-through below,

We are going to look both at building from the current, at the time of writing, Mono release tarball (3.4.0) and then at building the "latest and greatest" directory out of the git repository

The sequence of events is as follows,

Install pre-compiled Mono

Install & configure Cygwin

Retrieve and extract tarball Mono Sources

Build and Mono

Modify Cygwin/Mono to address any build failures

Install Mono and modify installation

Fix-ups/workarounds for Xamarin Studio

Retrieve and build git Mono Sources

This walk-through has been tested on an x64 machine running Windows 8.1.

Install pre-compiled Mono binaries

A stable, pre-compiled build of Mono 3.2.3 can be downloaded here. Download and install this.

Check that it runs by opening a Mono command prompt from the start bar and typing