MonoDevelop is a cross platform .NET IDE
Switch branches/tags
vs-mac-preview3 vs-mac-preview2 vs-mac-preview1 roslyn-preview-4 roslyn-preview-3 roslyn-preview-2 roslyn-preview-1 monodevelop-7.8.0.338 monodevelop-7.8.0.229 monodevelop-7.8.0.129 monodevelop-7.7.0.1738 monodevelop-7.7.0.1470 monodevelop-7.7.0.1143 monodevelop-7.7.0.977 monodevelop-7.7.0.805 monodevelop-7.7.0.768 monodevelop-7.6.11.7 monodevelop-7.6.10.23 monodevelop-7.6.9.22 monodevelop-7.6.8.38 monodevelop-7.6.6.14 monodevelop-7.6.5.20 monodevelop-7.6.3.1 monodevelop-7.6.1.9 monodevelop-7.6.1.7 monodevelop-7.6.0.2190 monodevelop-7.6.0.2086 monodevelop-7.6.0.2003 monodevelop-7.6.0.1773 monodevelop-7.6.0.1760 monodevelop-7.6.0.947 monodevelop-7.6.0.711 monodevelop-7.5.4.7 monodevelop-7.5.4.3 monodevelop-7.5.3.7 monodevelop-7.5.2.40 monodevelop-7.5.1.22 monodevelop-7.5.0.1254 monodevelop-7.5.0.1244 monodevelop-7.5.0.1222 monodevelop-7.5.0.1161 monodevelop-7.5.0.1062 monodevelop-7.5.0.933 monodevelop-7.5.0.646 monodevelop-7.4.3.10 monodevelop-7.4.3.8 monodevelop-7.4.2.12 monodevelop-7.4.1.48 monodevelop-7.4.0.1033 monodevelop-7.4.0.1026 monodevelop-7.4.0.1003 monodevelop-7.4.0.985 monodevelop-7.4.0.884 monodevelop-7.4.0.839 monodevelop-7.4.0.837 monodevelop-7.3.3.23 monodevelop-7.3.3.17 monodevelop-7.3.3.12 monodevelop-7.3.3.7 monodevelop-7.3.3.5 monodevelop-7.3.2.12 monodevelop-7.3.0.799 monodevelop-7.3.0.790 monodevelop-7.3.0.764 monodevelop-7.3.0.708 monodevelop-7.3.0.692 monodevelop-7.3.0.645 monodevelop-7.2.2.11 monodevelop-7.2.0.636 monodevelop-7.2.0.627 monodevelop-7.2.0.617 monodevelop-7.2.0.583 monodevelop-7.2.0.540 monodevelop-7.2.0.487 monodevelop-7.2.0.235 monodevelop-7.1.5.2 monodevelop-7.1.3.41 monodevelop-7.1.3.1 monodevelop-7.1.0.1297 monodevelop-7.1.0.1294 monodevelop-7.1.0.1291 monodevelop-7.1.0.1289 monodevelop-7.1.0.1287 monodevelop-7.1.0.1281 monodevelop-7.1.0.1278 monodevelop-7.1.0.1277 monodevelop-7.1.0.1276 monodevelop-7.1.0.1272 monodevelop-7.1.0.1267 monodevelop-7.1.0.1258 monodevelop-7.1.0.1178 monodevelop-7.1.0.583 monodevelop-7.0.1.24 monodevelop-7.0.0.3146 monodevelop-7.0.0.3143 monodevelop-7.0.0.3051 monodevelop-7.0.0.2943 monodevelop-7.0.0.2845 monodevelop-7.0.0.2770 monodevelop-7.0.0.2740
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

MonoDevelop is a full-featured integrated development environment (IDE) for mono using Gtk#.

The MonoDevelop core is also the foundation for Visual Studio for Mac. Feel free to file bugs against Visual Studio for Mac here as well.

See http://www.monodevelop.com for more info.

Build Status

Gitter

Directory organization

There are two main directories:

  • main: The core MonoDevelop assemblies and add-ins (all in a single tarball/package).
  • extras: Additional add-ins (each add-in has its own tarball/package).

Compiling

If you are building from Git, make sure that you initialize the submodules that are part of this repository by executing: git submodule update --init --recursive

If you are running a parallel mono installation, make sure to run all the following steps while having sourced your mono installation script. (source path/to/my-environment-script) See: http://www.mono-project.com/Parallel_Mono_Environments

To compile execute: ./configure ; make

There are two variables you can set when running configure:

  • The install prefix: --prefix=/path/to/prefix

    • To install with the rest of the assemblies, use: --prefix="pkg-config --variable=prefix mono"
  • The build profile: --profile=profile-name

    • stable: builds the MonoDevelop core and some stable extra add-ins.
    • core: builds the MonoDevelop core only.
    • all: builds everything
    • mac: builds for Mac OS X

PS: You can also create your own profile by adding a file to the profiles directory containing a list of the directories to build.

Disclaimer: Please be aware that the 'extras/JavaBinding' and 'extras/ValaBinding' packages do not currently work. When prompted or by manually selecting them during the './configure --select' step, make sure they stay deselected. (deselected by default)

Running

You can run MonoDevelop from the build directory by executing: make run

Debugging

You can debug MonoDevelop using Visual Studio (on Windows or macOS) with the main/Main.sln solution. Use the DebugWin32 configuration on Windows and the DebugMac configuration on macOS.

Installing (Optional)

You can install MonoDevelop by running: make install

Bear in mind that if you are installing under a custom prefix, you may need to modify your /etc/ld.so.conf or LD_LIBRARY_PATH to ensure that any required native libraries are found correctly.

(It's possible that you need to install for your locale to be correctly set.)

Packaging for OS X

To package MonoDevelop for OS X in a convenient MonoDevelop.app file, just do this after MonoDevelop has finished building (with make): cd main/build/MacOSX ; make app. You can run MonoDevelop: open MonoDevelop.app or build dmg package: ./make-dmg-bundle.sh

Dependencies

Special Environment Variables

BUILD_REVISION

If this environment variable exists we assume we are compiling inside wrench.
We use this to enable raygun only for 'release' builds and not for normal
developer builds compiled on a dev machine with 'make && make run'.

Known Problems

"The type `GLib.IIcon' is defined in an assembly that is not referenced"

This happens when you accidentally installed gtk-sharp3 instead of the 2.12.x branch version. Make sure to 'make uninstall' or otherwise remove the gtk-sharp3 version and install the older one.

xbuild may still cache a reference to assemblies that you may have accidentally installed into your mono installation, like the gtk-sharp3 as described before. You can delete the cache in $HOME/.config/xbuild/pkgconfig-cache-2.xml

References

MonoDevelop website

Gnome Human Interface Guidelines (HIG)

freedesktop.org standards

Discussion, Bugs, Patches

monodevelop-list@lists.ximian.com (questions and discussion)

monodevelop-patches-list@lists.ximian.com (track commits to MonoDevelop)

monodevelop-bugs@lists.ximian.com (track MonoDevelop bugzilla component)

http://bugzilla.xamarin.com (submit bugs and patches here)