MonoDevelop enables developers to quickly write desktop and web applications on Linux, Windows and macOS. It also makes it easy for developers to port.NET applications created with Visual Studio to Linux and macOS maintaining a single code base for all platforms. Unzip the Templates.zip archive to a location on your Mac; the archive contains two files: MonoDevelop.MonoCrossMD28.Templates0.9.mpack - Templates for MonoDevelop 2.8 MonoDevelop.MonoCross.Templates0.9.mpack - Templates for MonoDevelop 3.0. Open MonoDevelop, and click on the MonoDevelop menu. Choose Add-in Manager from the MonoDevelop. The recently updated Mono 1.2.6 package for MacOS X contains Imendio's Native Gtk+ for OSX, Gtk# and MonoDevelop 0.18.1 with Mac support. It is now available from Mono's downloads page. It appears that you have to run all three of these installs to get it to work: Mono 2.25 Framework - Universal; MonoDevelop 2.0 Alpha 2; Cocoa# 0.9.4 source.
Download MonoDevelop 5.10.0.871 for Mac from our software library for free. The following versions: 4.2, 4.0 and 3.1 are the most frequently downloaded ones by the program users. A further useful feature of MonoDevelop is single stepping. When execution is paused at a breakpoint, a bar of debugging tools will become available in the top portion of the MonoDevelop window:-MonoDevelop stepping tools. The four buttons are known as Continue, Step Over, Step In and Step Out and can also be accessed as commands on the Run menu. MonoDevelop Mac Preview Builds. The past few weeks I’ve been working on improving the MonoDevelop experience on the Mac, making it integrate better with the Mac experience. Along with ASP.NET MVC support and other soon-to be-announced excitement, I think this makes MonoDevelop much more interesting for Mac users.
Mono supports macOS version 10.9 (Mavericks) and later.
You can use Mono on macOS to build server, console and GUI applications. Read below for the options available for GUI application development.
If you are interested in creating native GUI applications, use the MonoMac bindings and our MonoDevelop add-in. Read the description on MonoMac for more information on how to get started.
You can use Mono either as a runtime to run existing application, or as an SDK to develop new applications with Mono.
Visit the download page to find the latest macOS package. Run it and follow the instructions there, you can either get a basic runtime, or a complete runtime plus a software development kit.
Top soft for mac. If you plan on developing applications with Mono, we suggest that you also install the MonoDevelop IDE after you install Mono.
The Mono package includes:
This package installs as a framework into /Library/Frameworks/Mono.framework
(the same way the Java packages are installed). The executable binaries can be found in /Library/Frameworks/Mono.framework/Versions/Current/bin
. If you’d like to access the mono manpages you’ll have to add /Library/Frameworks/Mono.framework/Versions/Current/man
to your manpath. The macOS Mono package does not include Gtk#, XSP or mod_mono. These will have to be compiled from source.
Our packages currently require macOS 10.9 or better, for older versions, you will need to build from source code.
At this point, you must use Mono from the command line, the usual set of commands that are available on other ports of Mono are available.
To build applications you can use “mcs”, to run then you can use mono.
From a Terminal shell, you can try it out:
Most users would be using the MonoDevelop IDE to create their projects.
You will have a choice of GUI toolkits for building your application, from pure cross platform, to Mac-specific using MonoMac.
The Mono packages published on this web site provide both a 32-bit and a 64-bit Mono VM.
Starting from Mono 5.2 the mono
command defaults to 64-bit, you can use the --arch=32/64
switch to control the bitness.
The 64 bit support has a few limitations today:
There are a few choices to build client applications on macOS, you should pick the technology that better fits your goals, your choices are:
Toolkit | Runs on Linux | Runs on Windows | Runs on Mac | Binding Style | License | Status |
MonoMac | no | no | yes | Strongly typed C# binding to Cocoa APIs | MIT X11 | Actively developed, builds on the design lessons from MonoTouch but still incomplete. This will be the new default binding for Mono on macOS. Separate download. |
Gtk# | yes | yes | yes | Strongly typed C# binding to the cross platform Gtk+ API. Applications look foreign on macOS. | LGPL v2 | Actively developed, cross platform. Bundled with Mono. |
Windows.Forms | yes | yes | yes | Cross platform implementation of Microsoft’s Windows.Forms. Applications look foreign on macOS. | MIT X11 | The Windows.Forms API was frozen in time by Microsoft. Bundled with Mono. |
MonObjc | no | no | yes | Binding to the native Cocoa APIs, but requires manual use of Objective-C selectors to work with, relatively thin wrapper around the underlying APIs. | LGPL v3 | Actively developed. Separate download. |
CocoaSharp | no | no | yes | Binding to the native Cocoa APIs, but requires manual use of Objective-C selectors to work with, relatively thin wrapper around the underlying APIs. | MIT X11 | No longer developed, no longer maintained, deprecated. Bundled with Mono. |
Running applications on macOS is very similar to linux systems, from the terminal:
For GTK# applications, it’s easiest to run them the same way but using xterm from X11.app
Mono’s implementation of the System.Windows.Forms API is built on top of Carbon and can only run with Mono on 32 bit systems. The look and feel of System.Windows.Forms applications mimics the Windows style and does not currently render like a native macOS application.
ObjC# is a transparent two way bridge that allows the CLR to access the rich underlying ObjectiveC frameworks as well as providing direct access to the CLR frameworks from the ObjectiveC language.
Run this script in a terminal: