Aktion Die Projektverweise für ein bestimmtes Projekt werden betrachtet. Dann werden die des nächsten untersucht. Dialog ...

Aktion
Die Projektverweise für ein bestimmtes Projekt werden betrachtet. Dann werden die des nächsten untersucht.

Dialog
Angenommen, Ihr Team musste mehrere Builds ausführen, um einen erfolgreichen Build zu bekommen.

Sie glauben, dass irgendwo eine Ringabhängigkeit vorliegt, aber wo?

Wollten Sie schon immer wissen, warum in Ihren Projekten bestimmte Abhängigkeiten bestehen? 

Angenommen, Sie möchten eine Assembly entfernen oder auf eine neue Technologie aktualisieren. 

Die Abhängigkeitsdiagramme in Visual Studio können Ihnen dabei helfen. 



Aktion
Im Menü "Architektur" die Option "Abhängigkeitsdiagramm generieren" und dann "Für Projektmappe" auswählen.

Dialog
Wenn Sie ein Abhängigkeitsdiagramm für Ihre Projektmappe generieren, erhalten Sie einen guten Überblick über diese.

Dies kann sehr nützlich sein, da Sie dadurch Dinge erkennen können, die Ihnen sonst nicht aufgefallen wären.

Beispielsweise sehen Sie sofort, dass bei Ihren Komponententests gar nichts in Ihrer Projektmappe getestet wird. Es wird sogar insgesamt nichts getestet.



Aktion
In der Legende "Hinzufügen" und einen Analyzer für Ringabhängigkeiten auswählen.

Dialog
Projektmappe ist ziemlich groß, deshalb erkennen wir zunächst keine unerwarteten Abhängigkeiten. 

Sie können jedoch einen Analyzer für Ringabhängigkeiten hinzufügen, um diese Abhängigkeiten besser zu erkenenen. 



Aktion
Als Ergebnis sind 3 Assemblys hervorgehoben.

Dialog
Und tatsächlich sehen wir, dass diese 3 Assemblys aufeinander verweisen. 

Dadurch haben wir eine Menge Zeit gespart. Nun müssen wir das beheben! 



Aktion
Die Links zwischen den 3 Assemblys werden überprüft.

Dialog
Beachten Sie hier, dass die Abhängigkeitsverknüpfung zwischen dieser Assembly und dieser Assembly viel dünner ist als die Verknüpfungen zwischen den anderen. 

Wenn wir die Maus über die Verknüpfung bewegen, sagt uns die QuickInfo, dass nur zwei Aufrufe diese Abhängigkeit produzieren. Dadurch sieht es so aus, als ob die Abhängigkeit erst vor kurzem hinzugefügt wurde.



Aktion
Klicken Sie auf die verdächtige (dünnere) Verknüpfung, und fordern Sie die beitragenden Verknüpfungen an.

Dialog
Durch das Verständnis, was zu einer Abhängigkeit beiträgt, können wir sofort erkennen, welche Methoden Methoden in anderen Assemblys aufrufen. Und es sieht so aus, als ob nur eine Methode hier aufgerufen wurde. Das ist gut. 

Durch Hinzufügen der beitragenden Verknüpfungen zum "Gesamtwerk" bekommen wir auch alle Verknüpfungen von dieser Methode zu anderen Teilen des Codes. 

Es scheint, wir können diese Methode ohne große Probleme in eine andere Assembly verschieben. Schauen wir mal, ob wir Recht behalten.



Aktion
Die Methode zur aufrufenden Assembly ziehen und ablegen. Es ist zu erkennen, dass das Problem dadurch nicht vollständig gelöst wird. 

Dialog
Wir sehen, das seine andere Verknüpfung zu einem statischen Feld besteht. Dies können wir auch verschieben.



Aktion
Das Feld wird per Drag  Drop verschoben. Das Problem wird dadurch gelöst.

Dialog
Wir konnten also unsere Theorie testen und die richtige Problemlösung finden.



Aktion
F12 drücken oder den Kontextmenübefehl für 'goto'-Code verwenden. 

Geteilten Bildschirm mit Diagramm und Code anzeigen, und dann mithilfe des Diagramms zum Code navigieren.

Dialog
Wir können jetzt das Diagramm als eine Art Hilfe bei der Suche von Code verwenden und das Problem tatsächlich beheben.



Aktion
Kommentar wird hinzugefügt, der den Zweck des neuen Designs erklärt, und dieses Diagramm zum Projekt hinzufügen, damit es in einem Shelveset berücksichtigt wird, oder als XPS exportieren zum Ausdrucken.

Dialog
Und dann können wir das neue Design für das Team freigeben, zum Beispiel als Teil einer Codeüberprüfung.