Ein PowerShell-Skript von Danny Tuppeny erzeugt aus den Projektverweisen einer Visual-Studio-Lösung eine Textdarstellung für yUML. Der Originalbeitrag zum Skript erschien im Mai 2012 und richtet sich an Entwickler, die Abhängigkeiten in gewachsenen .NET-Projekten sichtbar machen wollen.
Projektbeziehungen aus CSPROJ-Dateien
Das Skript durchsucht einen Ordner rekursiv nach .csproj-Dateien, liest die XML-Struktur der Projekte ein und sammelt die darin hinterlegten Projektverweise. Über einen optionalen Ausschlussfilter lassen sich Projekte ausblenden, die für die aktuelle Betrachtung nicht relevant sind. Die Ausgabe besteht aus einer Folge von Beziehungen, die direkt in yUML eingefügt werden kann.
Damit entsteht ohne zusätzliche Visual-Studio-Erweiterung eine Übersicht über die Struktur einer Lösung. Gerade bei älteren Codebasen kann die Darstellung helfen, voneinander abhängige Projekte und ungewöhnlich enge Verbindungen schneller zu erkennen. Das Prinzip ist auch auf größere .NET-Lösungen in Spielprojekten und Entwicklungswerkzeugen übertragbar.
Diagramme für gewachsene Lösungen
Die Methode trennt die Analyse der Projektdateien von der Darstellung. PowerShell übernimmt das Auslesen der XML-Daten, yUML die grafische Aufbereitung der Beziehungen. Dadurch bleibt der eigentliche Ablauf kurz und kann bei Bedarf an eigene Namenskonventionen oder Verzeichnisstrukturen angepasst werden.
Der Beitrag dokumentiert den Stand der Werkzeuge im Jahr 2012. Moderne .NET-Projekte verwenden teilweise andere Projektformate und zusätzliche Abhängigkeitssysteme. Für die historische Vorlage bleibt der Ansatz dennoch interessant, weil er eine einfache Form der Architekturprüfung mit Bordmitteln zeigt. Eine ähnliche Frage nach klaren Zuständigkeiten spielt auch in der Spieleprogrammierung eine Rolle.
