Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
sharpDox - Ein Dokumentationstool für C# | Version 1.2
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

sharpDox - Ein Dokumentationstool für C# | Version 1.2

beantworten | zitieren | melden

Aktualisierung:
----------------------------

Hallo!

Version 1.2 online!

Gruß
Geaz

----------------------------
Hallo!

Es hat sich einiges getan!

Ab jetzt ist sharpDox nicht nur frei benutzbar sondern obendrein auch open source!
Jeden den es interessiert der kann ab jetzt den Code hier einsehen und gerne auch etwas beitragen :)

Zudem sind nun einige neue Features dabei:

- Added support for articles and custom navigations
- Added support for multilanguage documentations
- Added creation of svg diagrams
- Added a new visibility settings page, which replaces the old namespace-excluder
- Replaced old new, save and load dialog and added a "recent project" menu
- Several optimizations

Größte Erneurungen sind, dass in der GUI nun nicht nur Namensräume, sondern bis auf Member-Ebene einzelne Elemente aus der Dokumentation ausgeschlossen werden können.
Zudem kann eine Dokumentation nun z.B. um Artikel erweitert werden! Hier ein Beispiel für einen solchen Artikel.

Ein weiteres Feature ist die Erstellung von mehrsprachigen Dokumentationen!

Alles weitere steht in der Dokumentation von sharpDox beschrieben, die ihr hier findet.

Die Seite für sharpDox ist ebenfalls zu Github gezogen und ist weiterhin über http://sharpdox.de erreichbar.

Beste Grüße
Geaz
Dieser Beitrag wurde 43 mal editiert, zum letzten Mal von Geaz am .
Attachments
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Und der zweite Screenshot
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Geaz am .
Attachments
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Und noch ein Screenshot von der GUI
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Geaz am .
Attachments
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2346

beantworten | zitieren | melden

Hallo,

von der Bedienung ist das Programm echt super. Man muss nichts unnötiges machen. Ich hab direkt mal ein Projekt von mir in die HTML Dokumentation bringen lassen und muss sagen, das ging echt flott.

Eins kann ich nur irgendwie nicht finden. Das Tool erstellt Klassendiagramme und Sequenzdiagramme, find ich es einfach nicht, oder werden die in der HTML-Dokumentation nicht ausgegeben?
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Hey,

freut mich zu hören, dass es so gut klappt :)
Zitat von inflames2k
Das Tool erstellt Klassendiagramme und Sequenzdiagramme, find ich es einfach nicht, oder werden die in der HTML-Dokumentation nicht ausgegeben?

Einmal sollten alle Diagramm auch im Unterordner "diagrams" im Ausgabepfad zu finden sein. In der HTML-Doku sind die etwas "versteckt", damit die, je nach Größe, nicht im Weg sind. Schau einmal wenn du in einer Klassenübersicht bist oben rechts, da ist ein Button "Klassendiagramm". Wenn du in einer Methode bist, welche mindestens einen Aufruf einer anderen Methode aus deinem Projekt tätigt, ist an der selben Stelle ein Button "Sequenzdiagramm".

Habe dir mal ein Bild angehängt, damit wir nicht aneinander vorbei reden ;)

Gruß,
Geaz
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Geaz am .
Attachments
private Nachricht | Beiträge des Benutzers
raketenhund
myCSharp.de - Member



Dabei seit:
Beiträge: 41

beantworten | zitieren | melden

Hallo Geaz,

ich habe das Programm mal runtergeladen und optisch ist es schonmal sehr ansprechend :)

Mir ist jedoch gleich der ein oder andere Punkt aufgefallen:
  • Könnte das Programm nicht den Großteil der Daten für "Allgemeine Einstellungen" aus der Projektdatei ziehen?
  • Bei einem Projekt ist eine "System.UnauthorizedAccessException" aufgetreten. Die Meldung habe ich jedoch erst im Logfile gesehen. Die Anwendung gibt hierzu keine Infos, weshalb ich erstmal eine Weile gewartet habe. Der User sollte die Info erhalten, dass hier ein Fehler aufgetreten ist, evtl. mit dem Verweis auf das Logfile.
  • Ein anderes Projekt funktionierte, jedoch wäre es nicht schlecht, wenn man eine Info darüber erhalten könnte, welche Datei er gerade parsed oder erstellt, damit (gerade bei großen Projekten) der User weiß, was und vor allem, dass das Programm noch etwas macht.
  • Die erstellte Dokumentation (Top-Layout!!) ist leider im IE nicht nutzbar. Nach zwei bis drei Klicks passiert garnichts mehr. Ich kann keinen Punkt mehr anwählen, nur noch die Seite neu laden. Daraufhin tritt wieder das gleiche Phänomen auf. IE Version: 9.0.8112.16421 - Dieses Problem scheint nur bei der Darstellung von Klassen aufzutreten. Blättere ich durch die Namespaces, funktioniert alles. Sobald eine Klasse angewählt wurde, "friert" die Seite ein.
  • Zur besseren Übersicht wäre es sicherlich hilfreich, wenn noch Zeitangaben im Logfile vorhanden wären

Ich würde das Programm liebend gerne benutzen, würde ich es denn auch im IE nutzen können. :)

EDIT: Das gleiche Problem mit dem einfrieren der Seite habe ich auch auf deiner Projektseite. Sobald ich mir eine Klasse in deiner Dokumentation ansehen möchte, steht die Seite.

Grüße vom raketenhund!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von raketenhund am .
Projekte
my dvds - Die DVD & BluRay Verwaltung für Windows Phone 8
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2346

beantworten | zitieren | melden

Hallo Geaz, den Link hatte ich gefunden.

Der zeigt mir jedoch immer nur die aktuelle Klasse an. Den Link zum Sequenzdiagramm erhalte ich auch, bei Klassen die Aufrufen in / von anderen Klassen erhalten. Allerdings wird in dem Overlay was dann geöffnet wird ebenfalls nur das Stück sequenz der Klasse angezeigt mit Pfeilen aus dem nichts und ins nichts. - Wenn ich heut abend zu Haus bin werd ich mal Screenshots von machen.

Falls relevant: Als Browser nutze ich Firefox in der aktuellen Version.
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

@raketenhund:

Freut mich, dass dir das Programm zusagt :)

Ich habe eine neue Version hochgeladen, welche die meisten deiner Probleme beheben sollte. Sowohl das Problem mit dem IE (war im HTML und Wordpress Plugin. Die Doku auf meiner Seite sollte jetzt auch funktionieren), die Zeitangabe in der Log und die Ausgabe im Bausausgabefenster. Einfach mal in die Changelog innerhalb der .rar reinschauen und probieren, ob es jetzt klappt.

Wegen deiner "System.UnauthorizedAccessException" wäre es super, falls du mir deine Log über mein Bugreport Forumlar schicken könntest.

@inflames2k:

Hmm, bei den Klassendiagrammen war der erste Screenshot und meine Aussage wohl etwas irreführend. Momentan ist es in der Tat so, dass lediglich ein Klassendiagramm der aktuellen Klasse angezeigt wird. Ein komplettes Diagramm, also inklusive Beziehungen, ist für die nächste Version geplant (sollte kein großes Problem sein, da alle benötigten Informationen bereits vorhanden sind).

Das Problem mit dem Sequenzdiagramm hört sich eigenartig an, bin auf deinen Screenshot gespannt :)

Gruß,
Geaz
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Geaz am .
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2346

beantworten | zitieren | melden

Wenn ich mir deine Antwort so ansehe, könnte das Problem mit den Sequenzdiagrammen garkeins sein...

Hab mir das noch einmal genauer angesehen. Wenn man verstanden hat worauf der Fokus liegt, ist das in Ordnung.

Zwei Sachen hab ich noch:
1) Warum werden die erstellten Grafiken 2 mal gespeichert? Einmal unter diagrams und ein weiteres mal unter html\images\diagrams. - Würde es hier nicht einmal ausreichen?

2) Ich fänds im Sequenzdiagramm schöner, wenn Aufrufe einer Klasse auf sich selbst nicht mit diesem kleinen Pfeilchen dargestellt werden, sondern wie es die meißten UML-Tools machen. Siehe im Anhang.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von inflames2k am .
Attachments
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Zitat von inflames2k
Zwei Sachen hab ich noch:
1) Warum werden die erstellten Grafiken 2 mal gespeichert? Einmal unter diagrams und ein weiteres mal unter html\images\diagrams. - Würde es hier nicht einmal ausreichen?

Eigentlich würde es reichen, dass ist richtig. Ich habe mir nur gedacht, dass es ganz nett wäre, wenn man einfach den html Ordner kopieren kann und dann hat man die ganze Dokumentation direkt in einem Ordner. Gerade wenn man mehrere Exporter aktiv hat finde ich das persönlich ganz praktisch. Ist vielleicht einfach Geschmakssache :)
Zitat von inflames2k
2) Ich fänds im Sequenzdiagramm schöner, wenn Aufrufe einer Klasse auf sich selbst nicht mit diesem kleinen Pfeilchen dargestellt werden, sondern wie es die meißten UML-Tools machen. Siehe im Anhang.

Da gebe ich dir recht. Habe es auf meiner Liste und ist mit dem nächstem Update drin.

Gruß,
Geaz
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2346

beantworten | zitieren | melden

Ich hab da noch was gefunden.

In einem aktuellen Projekt baue ich gerade einen Authentifizierungsmechanismus.

Bei der Anmeldung gibt es folgenden Abfolgebaum:
-> MainForm.Authenticate
       -> AuthenticationManager.AuthenticateUser
                ->AuthenticationDBHandler.AuthenticateUser

Im generierten Sequenzdiagram zu MainForm.Authenticate geht der Pfeil jedoch nur zum AuthenticationManager und dessen Rückgabe zurück.

Ich hatte vorhin schon mal eine Sequenz, die über mehrere Klassen ging, drum war ich verwundert. Hab ich mich getäuscht oder erstellt das Tool normalerweise den vollen Sequenzbaum ab der Methode bis zum letzten Aufruf? Denn dann solltest du das nochmal prüfen.
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
thomas.at
myCSharp.de - Member



Dabei seit:
Beiträge: 102
Herkunft: Österreich / Wien

beantworten | zitieren | melden

Hallo

Also dies ist wirklich ein top Programm. Einfach zu handhaben, schnell und gute Ausgabe. Was mir allerdings noch fehlt, ist die Beschreibung der Parameter bei den Funktionen (<param ...). Auf jeden Fall : weiter so!!

Thomas
private Nachricht | Beiträge des Benutzers
Björn
myCSharp.de - Member



Dabei seit:
Beiträge: 153
Herkunft: Rhode

beantworten | zitieren | melden

Hallo,

ich wollte das Tool mal ausprobieren, da es doch schon sehr nett aussieht.
Leider bricht er bei mir ab:
Fehler
SharpDox.Core.exe Information: 0 : 18.02.2013 08:09:21 Neue Konfiguration erfolgreich erstellt.
SharpDox.Core.exe Error: 0 : 18.02.2013 08:12:12 Bauvorgang konnte nicht abgeschlossen werden ...System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at SharpDox.Core.Parser.DocumentationParser.ParseDocumentation(IEntity entity)
at SharpDox.Core.Parser.ParseController.GetParsedMethod(IMethod methodNode, CSharpFile file, Boolean isCtor)
at SharpDox.Core.Parser.ParseController.ParseProjectTypeToObject(SDType parsedType, IType type, CSharpFile file)
at SharpDox.Core.Parser.ParseController.GetParsedType(IType type, CSharpFile file)
at SharpDox.Core.Parser.ParseController.GetParsedSolution(Solution solution)
at SharpDox.Core.Builder.RepositoryLoader.LoadRepository(String inputPath)
at SharpDox.Core.Builder.BuildController.BuildDocumentation()

Im Ausgabefeld der Gui hat er gerade die ganzen Klassen gelesen (die letzte dort angegebene Klasse kam aber nicht doppelt vor).

Wenn der "Bau" fehlschlägt, kann man keinen neuen Starten, da ein Klick auf "Stop" keine funktion mehr hat und Start ausgegraut ist. Man muss die Anwendung neustarten.

Ich lasse es gerade mal in meinem Projekt laufen (rund 170.000 Zeilen Code). Irgendwann beim Klasseneinlesen wird die GUI richtig langsam..

Wie kann ich mehrere Namespaces "ausschließen"?
Wenn ich den Namespace "Projekt.Namespace" ausschließe sollte meiner Meinung nach auch "Projekt.Namespace.Ordner.Klasse" nicht in der Doku landen.

Hoffe, es hilft dir ein wenig.

Gruß
Björn
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Björn am .
private Nachricht | Beiträge des Benutzers
Zicore
myCSharp.de - Member



Dabei seit:
Beiträge: 413

beantworten | zitieren | melden

Hallo Geaz,

schönes Programm.

Wie ein Vorredner bereits erwähnt hat, wäre es noch schön wenn Projektinformationen direkt aus diesem gelesen werden.

Was mir noch aufgefallen ist:

- Bei der Auswahl des Logos werden keine Bilder angezeigt.
- Wählt man Neu bleibt die Ansicht innerhalb des Bauen menüs.
- Bauen kann angeklickt werden, obwohl kein Projekt ausgewählt ist.
- Eine Fortschrittsanzeige wäre nett.

Gruß André
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Hi,

danke für euer vieles Feedback. Das hilft mir sehr und ist auch weiterhin sehr erwünscht ;)
Zitat von inflames2k
Ich hatte vorhin schon mal eine Sequenz, die über mehrere Klassen ging, drum war ich verwundert. Hab ich mich getäuscht oder erstellt das Tool normalerweise den vollen Sequenzbaum ab der Methode bis zum letzten Aufruf? Denn dann solltest du das nochmal prüfen.

Sollte eigentlich die komplette Sequenz sein. Habe es gecheckt und es wird in der nächsten Version korrekt funktionieren. Dazu werde ich die Sequenzdiagramme etwas vom Erscheinungsbild überarbeiten.
Zitat von thomas.at
Was mir allerdings noch fehlt, ist die Beschreibung der Parameter bei den Funktionen (<param ...)
Thomas

Auf der Liste und auch in der nächsten Version mit drin. Danke für deine aufmunternden Worte :)

@björn
Wäre es mögich, dass du mir die Klasse, in der der Fehler auftritt, zu schickst? Ich habe bereits eine Vermutung warum das passiert und würde diese gerne gegenchecken.

Deine anderen Punkte sind ebenfalls auf der Liste und mit der nächsten Version hoffentlich erledigt :)
Zitat von TheGear
- Bei der Auswahl des Logos werden keine Bilder angezeigt.
- Wählt man Neu bleibt die Ansicht innerhalb des Bauen menüs.
- Bauen kann angeklickt werden, obwohl kein Projekt ausgewählt ist.
- Eine Fortschrittsanzeige wäre nett.

Das Bild wird in der Tat bisher nicht vom HTML Exporter genutzt. Wird in der nächsten Version, genau wie auch deine anderen Punkte, erledigt sein :)

Zudem wird in der nächsten Version ein AutoUpdater beinhaltet sein, welcher automatisch das Hauptprogramm und registrierte Plugins aktualisieren kann. Habe ich Samstagabend geschrieben und funktioniert ganz gut bisher.

Danke euch allen noch einmal für die Unterstützung und die netten Worte :)

Gruß,
Geaz
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Geaz am .
private Nachricht | Beiträge des Benutzers
pinki
myCSharp.de - Member

Avatar #avatar-4072.jpg


Dabei seit:
Beiträge: 695
Herkunft: OWL

beantworten | zitieren | melden

Hi Geaz!
Ich wollte deine Software mal testen und musste für den Start in die Konfigurationsdatei noch
<loadFromRemoteSources enabled="true"/>
einfügen, damit ich keine Fehlermeldung erhalte.

Gruß
Michael
private Nachricht | Beiträge des Benutzers
telfa
myCSharp.de - Member



Dabei seit:
Beiträge: 162
Herkunft: Rheinbach

beantworten | zitieren | melden

Hallo Geaz,

habe mir sharpDox 0.8.1 herunter geladen und zu einem Projekt den Bauer gestartet. Dieser brach nach einiger Zeit ab und gab folgendes in der Logfile aus:
SharpDox.Core.exe Information: 0 : 19.02.2013 21:15:09 Neue Konfiguration erfolgreich erstellt.
SharpDox.Core.exe Error: 0 : 19.02.2013 21:15:52 Bauvorgang konnte nicht abgeschlossen werden ...System.ArgumentNullException: Der Wert darf nicht NULL sein.
Parametername: path1
   bei System.IO.Path.Combine(String path1, String path2)
   bei SharpDox.Core.Builder.DiagramController.CreateDiagrams(SDRepository repository, String outputPath)
   bei SharpDox.Core.Builder.BuildController.BuildDocumentation()


Sind hier Einstellungen erforderlich?

Gruß, telfa
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

@pinki:
Danke für die Info! Werde das in der nächsten Version standardmäßig einbauen.

@telfa:
Es scheint fast so, als würde ich nicht überprüfen, ob in den Einstellungen ein Ausgabepfad angegeben ist. Kann es sein, dass du dort keinen angegeben hast? Werde die Überprüfung in der kommenden Version einbauen.

Kurzer Zwischenstand:
Die meisten bisher gefunden Bugs habe ich bereits entfernt. Dazu habe ich die GUI etwas verfeinert und die Bauausgabe verbessert und einen Fortschrittsbalken eingebaut. Die GUI wird nun auch nicht mehr langsam bei großen Projekten. Der Updater funktioniert auch soweit. Was noch fehlt ist die abschließende Überarbeitung der Sequenzdiagramme. Sobald dies geschehen ist werde ich die neue Version durchtesten und veröffentlichen.

Gruß,
Geaz
private Nachricht | Beiträge des Benutzers
telfa
myCSharp.de - Member



Dabei seit:
Beiträge: 162
Herkunft: Rheinbach

beantworten | zitieren | melden

Hallo Geaz,

das mit dem Ausgabepfad war die Lösung.
Das Tool macht einen guten Eindruck.
Muss mich aber noch näher damit beschäftigen.

Gruß, telfa
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15806
Herkunft: BW

beantworten | zitieren | melden

Hi,

super Tool, aber ich würde noch ein paar Dinge verändern:
# Start-Form etwas verändern:
- Bereits vorhandene Projekte wieder aufrufen
- Kein Freitext-Feld für Namespace-Ignore, sondern das via Reflection selektieren lassen
-> Also erst alles einlesen, dann filtern, dann bauen (ähnlich wie SandCastle).

# HTML Ansicht:
- Aus der Liste Links eine Treeview des Namespaces machen. Nodes aufklappbar.
- Klassendiagramm in die Klassenbeschreibung einbetten; keine neue Seite öffnen. Fehlt irgendwie die Relation zur Doku, wenn nur das Bild kommt
- Syntax-Anzeige ist fehlerhaft

Public Void CDNController()
Korrekt wäre.

public void CDNController()
- Internal-Icons werden bei Methoden nicht angezeigt
- Generische Typen fehlen
Statt List<ClassName> wird nur List angezeigt
- Wenn generische Typen (bzw. die Platzhalter) als Eigenschaftet verwendet werden geht dies nicht klar aus der Anzeige hervor
- Man sieht in der Methodenübersicht den Rückgabetyp nicht
- Wenn eine Klasse von einer anderen erbt wird dies nicht angezeigt. Auch die base-Aufrufe fehlen genauso wie Klassen-Einschränkungen

Bei den Sequenzdiagrammen fehlt der Typ bei generischen Rückgaben ebenfalls.

Wäre super, wenn man beim HTML auch noch eine vollständig durchklickbare Sequenz erstellen könnte. Sprich, dass man nicht nur Bilder hat, sondern dass man sich so durch die Anwendung klicken kann.

Aber super Basis das Tool!
Gute arbeit soweit.
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Danke für dieses ausführliche Feedback! Ich werde schauen, ob ich noch einiges davon für die kommende Version umsetzen kann.

Kurz noch einige Gegenfragen:

Das mit der Namespaceauswahl finde ich eine gute Idee. Da muss ich noch überlegen wie ich das am geschicktesten umsetzen kann.

Zum einbetten der Klassendiagramme: Meinst es wäre besser wenn es eine klappbare Sektion innerhalb der Doku wäre? Weil in voller Form will ich die dort nicht einbauen, da die je nach Größe die Übersicht "kaputt" machen würden.

Das mit den navigierbaren Sequenzdiagrammen hatte ich mir auch einmal überlegt. Jedoch habe ich noch keine Idee wie ich das gut umsetzen kann. Die Diagramme werden ja während des Bauvorgangs erstellt und zum Zeitpunkt der Dokuerstellung hat der Exporter keine Information darüber wass in den Bildern tatsächlich enthalten ist (was zum Beispiel zur Erstellung einer Imagemap nötig wäre). Muss mal schauen, ob ich dafür einfach meine Diagramm-Modelle mit an die Methoden-Modelle dranhänge.

Vielen Dank noch einmal für dein Feedback!

Gruß,
Geaz
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15806
Herkunft: BW

beantworten | zitieren | melden

Hi,

schau Dir einfach mal das an, was SandCastle produziert oder wie die MSDN aussieht.
Dort ist links auch der Namespace und dessen Inhalt dann aufklapptbar - eben als Treeview: zum Beispiel ActionResult Class

Ich weiß nicht wie fit Du bist und wie groß Du Dir Dein Projekt vorstellen magst; aber man kann das schon mit HTML oder WPF lösen.
Du weißt ja wie die Methoden heißen, in welchem Namespace sie sich befinden und was sie alles aufrufen. Das kannst Du quasi alles klickbar machen.
Du kannst Dich ja mal von http://familyshow.codeplex.com/ inspirieren lassen.
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Hi,

ersteinmal danke noch einmal für die Hilfe :)

Das das mit WPF ala Family.Show machbar ist ist klar. Das Problem hier ist ja, dass .pngs generiert werden, welche nun einmal an sich nicht klickbar sind. Dies könnte natürlich in HTML gelöst werden. Zum Beispiel über Imagemaps oder Javascript. Dazu wäre es jedoch notwendig, dass der HTML-Exporter zum Zeitpunkt der Dokuerstellung Kenntnisse über die Position der einzelnen Elemente des Diagramms hat. Diese Informationen hat er momentan leider nicht.
Deswegen meinte ich, dass ich mal schauen muss, ob und wie ich das am geschicktesten lösen kann.

Gruß,
Geaz
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

0.8.5 ist veröffentlicht :)

- Es wurde eine Auto-Update Funktionalität eingebaut, diese kann ebenfalls von Plugins genutzt werden (siehe dazu auf sharpdox.geaz.de die Tutorials)
- Es wurde ein Fortschrittsbalken für den Bauvorgang eingebaut
- Die Sequenzdiagramme wurden etwas überarbeitet
- Die Beschreibung von Parametern wurde in die Dokumentation eingebaut
- Logos werden nun von der HTML Dokumentation verwendet
- Ein Fehler wurde behoben, welcher den erneuten Bau einer Dokumentation verhinderte
- Probleme mit der GUI Performance wurden behoben
- Eine Überprüfung, ob notwendige Daten eingeben wurden, wurde eingebaut
- Namespaces werden nun korrekt ausgeschlossen
- Einige Bugs in der HTML Dokumentation wurden entfernt
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Version 0.9 ist online!

Leider musste ich in der neuen Version das Updatesystem entfernen. Es kam zu ein paar Komplikationen. Deswegen muss die neue Version direkt von der Homepage geladen werden.
Hier die paar Änderungen:

- Ein paar Bugfixes
- Die standard Sprache wurde auf Englisch gesetzt
- Eine deutsche Übersetzung wurde hinzugefügt
- Update entfernt
- Neues SDK
- Die Übersetzungsfunktion kann für alle Plugins genutzt werden

Zudem hat das Wordpress Plugin eine Änderung bekommen: Es kann ausgewählt werden, ob nur öffentliche Elemente in der Dokumentation erscheinen sollen. Diese Funktion wird auch später im HTML Plugin hinzugefügt. Zudem bin ich gerade dabei ein Word Plugin zu schreiben.

Gruß,
Geaz
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo Geaz

Ich habe das Tool getestet und habe probiert die Dokumentation für einige von meinen Projekten, unter anderem auch LightCore zu bauen.

Dabei kam eine NullReference Exception, gleich am Anfang beim bauen.
StackTrace:
Fehler
at SharpDox.Build.Context.BuildContext.BuildDocumentation()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Die Meldungen lauten wie folgt:
Fehler
Starte Bauvorgang...
Lade Lösung. Dauer variiert mit der Projektgrösse...
Die Dokumentation konnte nicht erstellt werden. Object reference not set to an instance of an object.

Du brichst die Ausführung nicht ab, falls eine Exception aufgetreten ist, darum erscheint die Meldung auch in deinem Statustext.
Würde das noch ändern und einen ErrorScreen samt anschliessendem beenden des Programmes einfügen.

Du kannst gerne den LightCore-Quellcode (Siehe Link in meiner Signatur) zum testen nehmen. (Lief auch nur mit dem LightCore.csproj nicht.

Würde mich freuen, wenn du es zum laufen bringst.


Gruss Peter
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Peter Bucher am .
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3745
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

Hallo,

tolles Projekt !

Beim Start erhalte ich allerdings nach längerer Laufzeit den Fehler
Fehler
System.ArgumentException wurde nicht behandelt.
HResult=-2147024809
Message=Die Bildabmessungen befinden sich außerhalb des vom Codec unterstützten Bereichs.
Source=SharpDox.Build
StackTrace:
bei SharpDox.Build.Context.BuildContext.BuildDocumentation()
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException: System.Runtime.InteropServices.COMException
HResult=-2003292335
Message=Die Bitmapgröße liegt außerhalb des gültigen Bereichs. (Ausnahme von HRESULT: 0x88982F51)
ErrorCode=-2003292335

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo BerndFfm

Ich glaube die Projekte sind einfach zu gross, sodass die Bilder zu gross werden.
Am besten wäre wohl, die Software einmal an einem grösseren OpenSource-Projekt ausprobieren.


Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Hallo :)

Danke für eure Rückmeldungen!
Zitat von Peter Bucher
Ich habe das Tool getestet und habe probiert die Dokumentation für einige von meinen Projekten, unter anderem auch LightCore zu bauen.
Dabei kam eine NullReference Exception, gleich am Anfang beim bauen.

Die Ursache für den Fehler konnte ich heute früh direkt finden. Ein Update, dass dieses Problem behebt sollte heute Abend online sein. Danke für den Hinweis!
Zitat von Peter Bucher
Am besten wäre wohl, die Software einmal an einem grösseren OpenSource-Projekt ausprobieren.

Habe ich eigentlich schon oft und mit einigen Projekten getestet.
Zitat von BerndFfm
Beim Start erhalte ich allerdings nach längerer Laufzeit den Fehler

Den Fehler hatte ich schon einmal bei Projekten mit großen Klassen oder Methoden. Der Fehler sollte unabhängig von der größe des eigentlichen Projektes sein. Ich werde versuchen im nächsten Update ein Fix dafür zu implementieren.

Danke für die Fehlermeldungen!

Gruß,
Geaz
private Nachricht | Beiträge des Benutzers
Geaz
myCSharp.de - Member

Avatar #avatar-3446.png


Dabei seit:
Beiträge: 150
Herkunft: Frankfurt

Themenstarter:

beantworten | zitieren | melden

Und noch einmal Hallo :)

Ich habe Version 0.9.1 hochgeladen. Dadurch sollten die beiden erwähnten Fehler behoben worden sein! Würde mich freuen wenn ihr es ausprobiert und Bescheid gebt.

Gruß,
Geaz
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Geaz am .
private Nachricht | Beiträge des Benutzers