< html>

### Introduction

Sometimes it can be hard to find your way around the MonoDevelop source tree. This is intended as a brief description on where and what things are, and a couple tips to find things. Beware that MonoDevelop is in heavy active development and things can and do change rapidly.

### Assemblies

Name: MonoDevelop.Core
Location: `Core/src/MonoDevelop.Core/`
Description: contains the bare necessities for the IDE.
Depends: none

Name: MonoDevelop.Base
Location: `Core/src/MonoDevelop.Base/`
Description: contains the base of the IDE.
Depends: MonoDevelop.Core Gtk#/GNOME

Name: MonoDevelop.Dock
Location: `Core/src/MonoDevelop.Dock/`
Description: Gtk# docking widgets ported from gdl C library.
Depends: none

Name: ICSharpCode.SharpAssembly
Location: `Core/src/ICSharpCode.SharpAssembly`
Description: Assembly reading library.
Depends: none

Name: ICSharpCode.SharpRefactory
Location: `Core/src/ICSharpCode.SharpRefactory</code<br /> Description: C# parser library.
Depends: none`

Name: MonoDevelop.SourceEditor
Location: `Core/src/AddIns/DisplayBindings/SourceEditor`
Description: Default editor for MonoDevelop.
Depends: Gtk# gtksourceview-sharp MonoDevelop.Core MonoDevelop.Base MonoDevelop.Gui.Widgets MonoDevelop.Gui.Utils

Name: MonoDevelop.Gui.Utils
Location: `Core/src/MonoDevelop.Gui.Utils`
Description: extra miscellaneous functions.
Depends: Gtk#/GNOME

Name: MonoDevelop.Gui.Widgets
Location: `Core/src/MonoDevelop.Gui.Widgets/`
Description: extra Gtk# specific widgets.
Depends: Gtk#/GNOME MonoDevelop.Core MonoDevelop.Gui.Utils

Name: MonoDevelop.Debugger
Location: `Core/src/AddIns/DebuggerAddIn/`
Description: debugging support library
Depends: Gtk# Mono.Debugger MonoDevelop.Base MonoDevelop.Core

Name: CSharpBinding
Location: `Core/src/AddIns/BackendBindings/CSharpBinding/`
Description: backend for C# langauge support
Depends: MonoDevelop.Core MonoDevelop.Base MonoDevelop.SourceEditor ICSharpCode.SharpRefactory MonoDevelop.Gui.Widgets

Name: JavaBinding
Location: `Extras/JavaBinding/`
Description: backend for Java Langauge
Depends: external java runtime and compiler

Name: StartUp
Location: `Core/src/MonoDevelop.StartUp/`
Description: Parses commandline and invokes the rest.
Depends: MonoDevelop.Core MonoDevelop.Base MonoDevelop.SourceEditor ICSharpCode.SharpRefactory MonoDevelop.Gui.Widgets

Name: MonoDeveloperExtensions
Location: `Extras/MonoDeveloperExtensions`
Description: tools for developing mono itself Depends: MonoDevelop.Core MonoDevelop.Base gtk#

### Others

addin files - `build/AddIns`

resources - `build/data/resources` and `data/resources`

templates - `build/data/templates`

glade - data/resources/glade

### Last resort

Sometimes its still can be confusing so running something like the two below commands can be used as a last resort to find things.

`find . -name '*TypeName*.cs'`

`find . -name '*.cs' | xargs grep TypeName`

### Credits and Errata

Send comments to john.luke@gmail.com or the monodevelop mailing list.

MIT License

Last updated March 18, 2004