Gonzalo gab einen guten Überblick über die verschiedenen Module.
Da Sie auch erwähnt haben, dass Sie zur Dokumentation beitragen möchten, werden Sie ein paar weitere Informationen benötigen.
Zuerst wird die Dokumentation in XML-Dateien innerhalb von mcs/class/[assembly]/Documentation/, z.B. mcs/class/corlib/Documentation. Die Absicht ist, mehrere menschliche Sprachen zu unterstützen (obwohl derzeit nur Englisch bearbeitet wird), so dass innerhalb Dokumentation ein Sprachverzeichnis ist, normalerweise en
. Innerhalb von en
gibt es ns-*.xml
Dateien, z.B. mcs/class/corlib/Documentation/en/ns-System.xml enthält die Dokumentation für den Namespace System
. Innerhalb von en
befinden sich auch "dotted namespace" -Verzeichnisse, und in diesen sind XML-Dateien, eine pro Typ, zum Beispiel mcs/class/corlib/Documentation/en/System.Collections.Generic/IEnumerable`1.xml.
Dies wird auch in der Dokumentation mdoc(5) im Abschnitt FILE/DIRECTORY STRUCTURE
beschrieben. Wenn Sie die Dokumentation gefunden haben, müssen Sie das XML-Format kennen, das auch in der Dokumentation mdoc(5) im Abschnitt NamespaceName/TypeName.xml File Format
beschrieben wird. Der verwendete XML-Dialekt ist eine Variante der ECMA 335XML documentation, geändert, um eine Datei pro Typ zu haben (anstelle von allen Typen innerhalb einer einzigen monolithischen Datei). Dies ist auch eine Obermenge von C# XML documentation (siehe Annex E. Documentation Comments
, Seite 487).
Schließlich gibt es die Frage des Hinzufügens neuer Typen/Mitglieder zu dem mcs/class/[Assembly]/Documentation Verzeichnis. Wenn Sie Mono erstellt haben, können Sie das Makefile-Ziel doc-update
verwenden.Dies führt die entsprechende Assembly durch mdoc(1) und aktualisieren Sie die entsprechenden Dateien in der Dokumentation Verzeichnis.
Wenn Sie weitere Fragen zur Dokumentation haben, zögern Sie nicht, auf der Mailingliste mono-docs-list zu fragen.
Vielen Dank für die Beschreibung der Verzeichnisstruktur, wissen Sie auch, ob es eine Website gibt, die dies beschreibt? – markmnl
Es gibt https://github.com/mono/mono/blob/master/README.md – Gonzalo