NDoc auf dem Sterbebett – Warten auf Microsoft "Sandcastle"

Der Dotnet-Doktor  –  2 Kommentare

Das Open Source-Projekt NDoc soll eingestellt werden. Unterdessen hat Microsoft eine erste Alpha-Version eines eigenen Dokumentationswerkzeuges für .NET-Softwarekomponenten (Codename Sandcastle) vorgestellt.

Die Programmiersprachen C# (ab Version 1.0) und Visual Basic (ab Version 8.0) erlauben, den Programmcode mit speziellen Kommentaren in XML-Form anzureichern. Die Sprachcompiler erzeugen aus den XML-Kommentaren XML-Dateien, die zusammen mit den in den .NET-Softwarekomponenten (Assemblies) hinterlegten Metadaten dazu dienen können, eine Dokumentation für die Assembly automatisch zu generieren.

Beispiel für XML-Kommentare in C#:

///
/// Diese Methode liefert eine Liste aller Abflughäfen in Form eines String-Array
///
/// String-Array mit Abflugorten
public static string[] AlleAbflughaefen()
{
const string SQL = "Select FL_Abflugort from FL_Fluege group by FL_Abflugort";
return SQLUtil.GetColumn(SQL);
}

Beispiel für XML-Kommentare in Visual Basic:

'''
''' Diese Methode liefert eine Liste aller Abflughäfen in Form eines String-Array
'''
''' String-Array mit Abflugorten
Public Shared Function AlleAbflughaefen() As String()
Const SQL As String = "Select FL_Abflugort from FL_Fluege group by FL_Abflugort"
Return SQLUtil.GetColumn(SQL)
End Function

NDoc

In Visual Studio 2003 war eine Funktion enthalten, die (nicht besonders ansehnliche) HTML-Dokumente auf Basis der Assembly-Metadaten und XML-Kommentare erzeugte. In Visual Studio 2005 ist keine derartige Funktion enthalten. Microsoft hatte wohl eingesehen, dass das eingebaute Werkzeug viel schlechter war als NDoc, ein Open Source-Dokumentationswerkzeug, das neben HTML-Dateien auch viele andere Ausgabeformate unterstützt, u.a. kompilierte HTML-Dateien (.chm), die aussehen wie die MSDN-Dokumentation von Microsoft.

NDoc-Dokumentationsbeispiel

Beispiel für eine mit NDoc erstellte Dokumentation (aus dem Open Source-.NET 2.0-Fallbeispiel World Wide Wing):

Leider war zu beobachten, dass das NDoc-Projekt stagnierte. Eine .NET 2.0-fähige NDoc-Version war nicht auf der offiziellen NDoc-Projektseite, sondern nur über ein Weblog zu beziehen.

Der NDoc-Projektleiter Kevin Downs, der laut eigenen Angaben einzige Entwickler, der an NDoc gearbeitet hat, hat am 26.7. offiziell bekannt gegeben, dass er nicht mehr an dem Projekt arbeiten wird, weil ihm die personelle und finanzielle Unterstützung fehle.

"I have decided to discontinue work on NDoc 2.0 and no longer participate in any open-source development work…. Unfortunately, despite the almost ubiquitous use of NDoc, there has been no support for the project from the .Net developer community either financially or by development contributions."

In diesem Zusammenhang wird Kritik laut, dass Microsoft die Open Source-Projekte für .NET nicht unterstütze

Microsoft Sandcastle

Dass Microsoft am 29.6.2006 ein eigenes Dokumentationswerkzeug für die XML-Kommentare mit dem Codenamen "Sandcastle" (zu Deutsch: Sandburg) angekündigt hat, ist laut Aussage von Kevin Downs nur ein Grund, aber nicht der entscheidende, für seine Entscheidung, NDoc einzustellen.

Die Redmonder Sandburg gibt es bislang in einer sehr frühen Vorabversion, die nur auf der Kommandozeile läuft. Eine grafische Benutzeroberfläche wie NDoc bietet das neue Microsoft-Werkzeug noch nicht. Sandcastle basiert auf dem .NET Framework 2.0 und dem Microsoft HTML Help Workshop.