Setting up MonoDevelop

From Kerbal Space Program Wiki
Revision as of 02:24, 15 September 2016 by Martincmartin (talk | contribs) (Add KSPUtil.dll to the list of required resources.)
Jump to: navigation, search

MonoDevelop is an IDE primarily designed for C# and other .NET languages. It is also cross compatible, as in; it will run under windows as well as Mac OSX and Linux.


Prerequisites

  • Microsoft Windows XP or above, Mac OS X, or any Linux distribution which supports Mono.
  • .NET Framework 4.0
  • GTK# for .NET 2.12.10
  • Kerbal Space Program 0.14 X1 or above.

PCL assemblies for Linux systems

Linux systems may be missing the PCL assembly libraries, which will cause compilation to fail.

Setting Up

  1. Start a new solution either by selection "Start new solution" on the welcome screen or File > New > Solution...
  2. Select "Library" in the C# tree (Visible by default). Name it whatever you like. (We're using MyKSPProject for this tutorial. Click forward. Then Ok.
    Creating a new solution
  3. Click Project > Edit References and follow the steps below:
    • Click the .NET Assembly tab and use the navigation menu on the left to browse to your KSP installation folder.
    • On Windows navigate to (<KSP_win>\KSP_Data\Managed) or on mac click "Browse..." and navigate to (/Users/<user>/Applications/KSP_osx/KSP.app/Contents/Resources/Data/Managed). Note that the KSP.app folder will show as just "KSP" (without the .app) and you can't navigate into it. Instead, navigate into there in the Finder, then right click/ctrl-click on KSP, choose "Show Package Contents", continue to the Managed directory, then drag & drop Assembly-CSharp.dll, KSPUtil.dll and UnityEngine.dll into the "Browse" dialog.
    • Select Assembly-CSharp.dll, KSPUtil.dll and UnityEngine.dll. More assemblies may be required depending on exactly which things your mod needs access to.
      Adding References
    • Press Add then Ok, they should now be visible under the "References" directory of your solution.


Great, you're all set! Now continue to creating your first module!