# SharpDevelop

SharpDevelop (abgekürzt „#develop“) ist eine freie integrierte Entwicklungsumgebung (IDE) für das .NET Framework. Neben den ersten Sprachen C# und Visual Basic unterstützt die Entwicklungsumgebung auch weitere Programmiersprachen. SharpDevelop wird seit 2000 durch IC#Code entwickelt, einen Zusammenschluss freier Softwareentwickler.
Nach Aussagen eines führenden Entwicklers im ursprünglichen Projekt wurde die Weiterentwicklung 2017 eingestellt, da die Unterstützung des aktuellen Sprachstandards sowie von .NET Core zu aufwändig war.

## Geschichte
### Übersicht

| Reihe | Version | Veröffentlichung | Anmerkungen |
| 1.x | Ältere Version; nicht mehr unterstützt: 1.0.0.1543 | 11. Sep. 2004 | erste Ausgabe für Anwender mit Unterstützung für .NET Framework 1.0 |
| 1.x | Ältere Version; nicht mehr unterstützt: 1.1.0.2124 | 14. Feb. 2006 | letzte Ausgabe der Reihe 1.x mit Unterstützung für .NET Framework 1.1 |
| 2.x | Ältere Version; nicht mehr unterstützt: 2.0.1.1710 | 24. Aug. 2006 | erste Ausgabe der Reihe 2.x mit Unterstützung für .NET Framework 2.0 |
| 2.x | Ältere Version; nicht mehr unterstützt: 2.1.0.2429 | 7. März 2007 | erste Erweiterung der Reihe 2.x |
| 2.x | Ältere Version; nicht mehr unterstützt: 2.2.1.2648 | 8. Aug. 2007 | letzte Erweiterung der Reihe 2.x mit Unterstützung für .NET Framework 2.0 |
| 3.x | Ältere Version; nicht mehr unterstützt: 3.0.0.3800 | 10. Feb. 2009 | erste Ausgabe der Reihe 3.x mit Unterstützung für .NET Framework 2.0 sowie (neu) 3.0 und 3.5 |
| 3.x | Ältere Version; nicht mehr unterstützt: 3.2.1.6466 | 6. Nov. 2010 | letzte Ausgabe der Reihe 3.x |
| 4.x | Ältere Version; nicht mehr unterstützt: 4.0.0.7070 | 6. Jan. 2011 | erste Ausgabe der Reihe 4.x mit Unterstützung für .NET Framework 2.0, 3.0 und 3.5 sowie (neu) .NET Framework 4.0 |
| 4.x | Ältere Version; nicht mehr unterstützt: 4.2.2.8818 | 26. Aug. 2012 | zweite Ausgabe der Reihe 4.x mit erster Unterstützung für .NET Framework 4.5 |
| 4.x | Ältere Version; nicht mehr unterstützt: 4.3.0.9390 | 2. März 2013 | |
| 4.x | Ältere Version; nicht mehr unterstützt: 4.3.1.9430 | 1. Apr. 2013 | |
| 4.x | Ältere Version; nicht mehr unterstützt: 4.3.2.9632 | 12. Aug. 2013 | |
| 4.x | Ältere Version; nicht mehr unterstützt: 4.4.1.9729 | 27. Jan. 2014 | |
| 4.x | Ältere Version; nicht mehr unterstützt: 4.4.2.9749 | 14. Apr. 2015 | letzte Ausgabe der Reihe 4.x |
| 5.x | Ältere Version; nicht mehr unterstützt: 5.0.0.4755 | 28. Okt. 2014 | erste Ausgabe der Reihe 5.x mit Unterstützung für .NET Framework 4.5.1 |
| 5.x | Aktuelle Version: 5.1.0.5216 | 14. Apr. 2016 | aktuelle Ausgabe der Reihe 5.x mit Unterstützung für .NET Framework 4.5.1 |
| Legende:Alte VersionÄltere Version; noch unterstütztAktuelle VersionAktuelle VorabversionZukünftige Version ||||

### Einzelheiten
#### Version 1

Am 11. September 2004 wurde die Version 1.0 der quelloffenen .Net-Framework-Programmierschnittstelle „SharpDevelop“ veröffentlicht, welche die Programmiersprachen C# und Visual Basic .NET (VB.NET) unterstützte und das „Microsoft .NET Framework“ in der Version 1.0 voraussetzte.
Am 14. Februar 2006 wurde die letzte Version der Reihe 1.1.x veröffentlicht, welche das .NET Framework in der Version 1.1 voraussetzte.

#### Version 2

Im August 2006 wurde die Version 2.0 veröffentlicht, mit welcher .NET- und Mono-Programme nun zusätzlich in der Programmiersprache Boo entwickelt werden können. Zudem ist hier bereits das Öffnen und Bearbeiten von Visual-Studio-Projekten möglich. Zur Inbetriebnahme dieser Version ist das .NET Framework in der Version 2.0 und Windows (ab Windows 2000) erforderlich, zudem wird die Installation des dazugehörigen SDK von Entwicklern empfohlen.
Am 7. März 2007 wurde die Version 2.1 veröffentlicht und mit einem FxCop-gestützten Quelltext-Analysator, einem Typen-Browser für Assemblies und COM-Komponenten (auf Basis des .NET-Component-Inspector von Oakland), einer inkrementellen Suche, einem Abfrage-Erstellungswerkzeug für SQL-Datenbankabfragen, einer Unterstützung für das Versionsverwaltungs-Werkzeug Subversion sowie das Installationswerkzeug WiX und einigem mehr ergänzt.
Am 8. August 2007 wurde die letzte Version der Reihe 2.2.x veröffentlicht, welche das .NET Framework in der Version 2.0 voraussetzte.

#### Version 3

Seit der im Februar 2009 veröffentlichten Version 3.0 werden die Programmiersprachen IronPython und F# unterstützt. Zudem wurde die Unterstützung von Mehrkernprozessoren und eine Designer-Vorschau für die Windows Presentation Foundation (WPF) hinzugefügt. Für die Inbetriebnahme wird nun das .NET Framework in der Version 3.5 und Windows – ab XP, mit SP2 – vorausgesetzt.
Am 21. September 2009 wurde die Version 3.1 veröffentlicht, mit welcher nun eine Debugging-Unterstützung für IronPython, die freie Python-Implementierung für .NET, der IronPython-Windows-Forms-Designer und ein Profiler für sogenannte „Managed Applications“ hinzugefügt wurden. Zudem wurde auch bekannt gegeben, dass die kommende Version 4.0 parallel mit der Version 3.1 entwickelt wird, welche bei der Fertigstellung das .NET Framework in der Version 4.0 unterstützen soll.
Am 12. Dezember 2009 wurde die Version 3.1.1 veröffentlicht. Neu hinzugekommen ist die Unterstützung für die Sprache IronPython Version 2.6, eine verbesserte Quelltext-Verwaltung Python, eine Aktualisierung von NUnit auf die Version 2.5.3.9345, einige Korrekturen für den Debugger und Fehlerbereinigungen in der Quelltext-Vervollständigung.
Am 13. Januar 2010 wurde die Version 3.2.0, als „Community Technology Preview“ (CTP), veröffentlicht. Dabei wurde die Unterstützung für die Sprache IronRuby hinzugefügt, die .NET-Reporting-Technik „SharpDevelop Reports“ (SDR) überarbeitet, erweitert und wieder eingefügt sowie die Unterstützung der Sprache „Boo“ für die Version 0.9.3.3457 aktualisiert.

#### Version 4

Am 6. Januar 2011 wurde die Version 4.0 veröffentlicht und mit der Unterstützung für .NET 4.0 erweitert.
Am 6. Mai 2012 wurde die Ausgabe 4.2 veröffentlicht, in dessen vorausgegangenen Vorschau-Versionen unter anderem die Unterstützung für .NET 4.5 sowie für Windows 8 hinzugefügt wurden.
Am 23. Dezember 2013 wurde die Ausgabe 4.4 veröffentlicht.
Die letzte aktuelle Version aus Version 4 ist 4.4.2 vom 14. April 2015.

#### Version 5

Am 28. Oktober 2014 wurde nach fünf Betaversionen und einem Release Candidate Version 5.0 (Codename: "Zimnitz") veröffentlicht. Neu in dieser Ausgabe sind neben der Unterstützung für .NET Framework 4.5.1 die Integration der neu implementierten quelloffenen Codeanalysebibliothek NRefactory und ILSpy-Debugging sowie zahlreiche kleine Verbesserungen wie ein neuer Add-In-Manager und Ressourceneditor. Die zum Teil weitreichenden architektonischen Änderungen durch die Umstellung des alten DOM auf die neue NRefactory-Bibliothek brachten jedoch nicht nur Vorteile mit sich. So wird beispielsweise nach jetzigem Stand nur noch C# und nicht mehr Visual Basic .NET von der IDE unterstützt.
Des Weiteren wurde das Lizenzierungsmodell mit Beginn der Version 5.0 von der LGPL auf die MIT-Lizenz umgestellt.

## Technische Einzelheiten

Durch die Möglichkeit, die grafische Benutzeroberfläche (GUI) komfortabel mit einem sogenannten Formdesigner zu entwerfen, wird das UI-Design stark erleichtert. Insgesamt ähneln die Funktionen Microsofts Visual Studio. Die enthaltenen C#- und VB.NET-Parser wurden mit Coco/R erzeugt. Die Umgebung verfügt über die Funktion, VB.NET-Projekte nach C# zu übersetzen.
Die unterstützten Funktionen im Einzelnen sind:
* Formdesigner für C#, VB.NET und Boo
* automatische Codevervollständigung für C#, VB.NET und Boo
* automatische Codegenerierung
* Konverter zwischen C#, VB.NET und Boo
* integrierter Compiler für C#, VB.NET und Boo
* Integrierte NUnit-Unterstützung
* Refactoring
* Assembler-Analysierer
* XML-Dokumentation-Vorschau
* WiX-Unterstützung zum Erstellen von Installations-Programmen
* Integrierte FxCop-Unterstützung
* Query-Builder für SQL-Datenbankabfragen
Die ebenfalls freie Entwicklungsumgebung MonoDevelop für die freie .NET-Implementierung Mono stammt ursprünglich von SharpDevelop ab.

### Debugger

Ab der Version 2 wird der Microsoft .NET-Debugger cordbg als Debugger-Backend unterstützt. Für den Mono-Debugger mdb ist derzeit keine Unterstützung geplant.