Mono

Mono is a software platform designed to allow developers to easily create cross platform applications. Sponsored by Xamarin, Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.

http://www.mono-project.com

How to get Mono?

There are at least three different ways for getting Mono installed on your Raspberry Pi. All of them have their pros and cons:

Install it from the Raspbian package repository

+ very easy to handle
+ fast installation
+ works with LogView Studio (LvCmd)

- mostly an old Mono release
- WinForms applications produce errors with some components (like a Textbox)

Compile it from a TAR package

+ works with LogView Studio (LvCmd)
+ sometimes the GIT version has compilation errors which the TAR version don't have

o mostly newer than the Raspbian package but older than the GIT version

- takes a long time to compile
- needs some extra packages for compiling
- WinForms applications produce errors with some components (like a Textbox)

Compile it from the GIT repository

+ works with LogView Studio
+ WinForms applications work from Mono 3.8.1
+ always the newest release

- takes a long time to compile
- needs some extra packages for compiling

Which method is the best?

For LogView Studio it depends on what you like to do. If you only need the LvCmd version you are just fine with the normal Raspbian package.

If you like to run WinForms applications it's a better choice to compile it from GIT.

Note
If the TAR package gets to a 3.8 version this would also be Ok. At the moment of writing this text there is only a 3.6.0 version available.

AOT

Ahead of Time Compilation or AOT is a feature of the Mono runtime code generator.
We don't need it to run LogView Studio and in some cases it results in compilation problems on ARM. So we just disable it.

http://www.mono-project.com/docs/advanced/aot/


Send feedback on this topic
Copyright (C) 2013-2014 Dominik Schmidt / Holger Hemmecke. All rights reserved.