Gewusst wie: Generieren von Abhängigkeitsdiagrammen für .NET-Code

Erzeugen Sie Abhängigkeitsdiagramme mit Visual Studio Ultimate, um die Organisation und die Beziehungen in .NET-Code zu untersuchen. Mit diesen Diagrammen können Sie Code visuell darstellen, untersuchen und Abhängigkeiten im Code analysieren. Ein Diagramm stellt Codeelemente und deren Beziehungen als Satz von Knoten dar, die durch Links bzw. Ränder verbunden sind.

Tipp

Wenn Ihre Projektmappe sehr groß ist, kann das Generieren eines Abhängigkeitsdiagramms eine Ausnahme wegen mangelndem Arbeitsspeicher verursachen. Reduzieren Sie in diesem Fall den Bereich der Projektmappe. Sie können außerdem Architektur-Explorer verwenden, um die Projekte und Abhängigkeiten, die Sie visuell darstellen möchten, auszuwählen und anschließend das Diagramm zu generieren.

Laden Sie Microsoft Visual Studio 2010 Visualization and Modeling Feature Pack herunter und installieren Sie es, um Abhängigkeitsdiagramme für C- und C++-Code und Webprojekte zu generieren.

Weitere Informationen finden Sie in folgenden Themen:

Auswählen eines zu generierenden Abhängigkeitsdiagramms

Mithilfe von Visual Studio Ultimate können Sie schnell Diagrammdokumente generieren, um Abhängigkeiten im Code zu untersuchen. Informationen zum Generieren von Diagrammdokumente mithilfe eines Befehlszeilentools finden Sie unter Generieren von Diagrammdokumenten für die Batchverarbeitung.

Zum

Generieren eines Diagramms mit Beziehungen...

Anzeigen einer Übersicht über den Quellcode

...zwischen allen Assemblys, allen Namespaces oder allen Klassen in einer Visual Studio-Projektmappe

Das Diagramm enthält aggregierte Abhängigkeiten für die oberste Ebene der ausgewählten Knoten.

Anzeigen bestimmter Abhängigkeiten im Quellcode

...zwischen ausgewählten Bereichen des Quellcodes in einer Visual Studio-Projektmappe.

Mithilfe des Architektur-Explorers können Sie den Code hierarchisch durchsuchen und bestimmte Arten von Strukturen und Beziehungen auswählen.

Anzeigen einer Übersicht über den kompilierten Code

...in mindestens einer .NET-Assemblydatei (DLL-Datei) oder ausführbaren Datei (EXE-Datei)

Anzeigen bestimmter Abhängigkeiten in kompiliertem Code

...zwischen ausgewählten Bereichen in .NET-Assemblydateien (DLL-Dateien) oder ausführbaren Dateien (EXE-Dateien).

Mithilfe des Architektur-Explorers können Sie bestimmte Arten von Strukturen und Beziehungen durchsuchen und auswählen.

Nachdem Sie das Diagramm generiert haben, können Sie damit Code auf unterschiedliche Weise untersuchen. Weitere Informationen finden Sie unter Gewusst wie: Untersuchen von Code mit Abhängigkeitsdiagrammen.

Anzeigen einer Übersicht über den Quellcode in einer Visual Studio-Projektmappe

  1. Öffnen Sie die Projektmappe.

  2. Zeigen Sie im Menü Architektur auf Abhängigkeitsdiagramm generieren, und führen Sie anschließend einen der folgenden Schritte aus:

    Anzuklickendes Element

    Zu generierendes Diagramm mit folgenden Informationen

    Nach Assembly

    Aggregierte Abhängigkeiten zwischen allen Assemblys, die aus der Lösung hervorgehen, und alle externen Abhängigkeiten, von denen sie abhängen.

    Erweitern Sie die Assembly im Diagramm, um die Namespaces, Klassen und Methoden in einer Assembly anzuzeigen. Für externe Assemblys werden nur Elemente angezeigt, die verwendet werden.

    Nach Namespace

    Aggregierte Abhängigkeiten zwischen allen Namespaces in der Lösung und allen externen Namespaces, von denen der Code abhängt.

    Erweitern Sie den Namespace im Diagramm, um die Klassen und Methoden in einem Namespace anzuzeigen. Für externe Namespaces werden nur Elemente angezeigt, die verwendet werden.

    Nach Klasse

    Aggregierte Abhängigkeiten zwischen allen Klassen in der Lösung. Es werden keine Informationen zu externen, vom Code verwendeten Klassen angezeigt.

    - oder -

    Klicken Sie auf Benutzerdefiniert, um Abhängigkeiten über mehrere Typen von Strukturen hinweg anzuzeigen.

    1. Klicken Sie im Dialogfeld Abhängigkeitsdiagramm generieren auf mindestens eines der folgenden Felder: Assemblys, Namespaces, Typen oder Methoden.

    2. Filtern Sie das Diagramm mithilfe der folgenden Tabelle:

      Zweck

      Auszuführende Schritte

      Anzeigen von Verweisen auf externe Abhängigkeiten

      Dadurch können Sie untersuchen, wie interne Assemblys auf externen Assemblys aufbauen.

      Klicken Sie auf Extern.

      Ausschließliches Anzeigen von Typen und Methoden mit bestimmten Zugriffsebenen

      So können Sie beispielsweise das Diagramm vereinfachen, indem Sie lediglich öffentliche Typen auswählen.

      Erweitern Sie den Bereich Zugriffsfilter, und wählen Sie die gewünschten Ebenen aus.

      HinweisHinweis
      Wählen Sie mindestens eine Typzugriffsebene aus.Wählen Sie zum Verringern der Anzahl von Abhängigkeiten im Diagramm nur die gewünschten Zugriffsebenen für Methoden aus.

      Anzeigen von Abhängigkeiten auf hoher Ebene durch Anzeigen von Kapselungsbeziehungen als geschachtelte Gruppen und Abhängigkeiten als Aggregatlinks

      HinweisHinweis
      Für Methoden werden Abhängigkeiten als einzelne Links (und nicht als Aggregatlinks) angezeigt, da es sich bei den Methoden um die Endknoten der niedrigsten Ebene handelt.

      Aktivieren Sie das Kontrollkästchen Kapselung als Gruppe anzeigen.

      Anzeigen von Abhängigkeiten auf niedriger Ebene durch Anzeigen von Kapselungsbeziehungen als verknüpfte Knoten und Abhängigkeiten als einzelne Links

      Deaktivieren Sie das Kontrollkästchen Kapselung als Gruppe anzeigen.

    3. Klicken Sie abschließend auf OK.

      Visual Studio erstellt ein Dokument mit gerichtetem Diagramm (DGML-Datei) und öffnet dieses.

    Die Stärke des Links für eine aggregierte Abhängigkeit gibt Aufschluss darüber, wie viele einzelne Abhängigkeiten ungefähr von dieser aggregierten Abhängigkeit dargestellt werden. Bewegen Sie den Mauszeiger zum Anzeigen der Arten von Abhängigkeiten, für die der Link steht, auf den Link, bis die QuickInfo angezeigt wird.

    Tipp

    In vom Menü Architektur generierten Abhängigkeitsdiagrammen werden keine Aufrufe von virtuellen Methoden bis hinab zum am weitesten abgeleiteten Typ angezeigt. Stattdessen werden Abhängigkeiten von den Typen angezeigt, die diesen virtuellen Member deklarieren. Sie können jedoch mithilfe der Klassenansicht im Architektur-Explorer nach diesen Aufrufen suchen. Sie können sie anschließend aus dem Architektur-Explorer in ein vorhandenes Diagramm ziehen, oder Sie können über die Symbolleiste Architektur-Explorer ein neues Diagramm generieren.

Anzeigen bestimmter Abhängigkeiten im Quellcode in einer Visual Studio-Projektmappe

Suchen Sie mit dem Architektur-Explorer nach dem Code und den Beziehungen, die visuell dargestellt werden sollen. Sie können Diagramme auch mithilfe von vordefinierten Abfragen generieren.

  1. Öffnen Sie die Projektmappe.

  2. Ist der Architektur-Explorer nicht geöffnet, zeigen Sie im Menü Architektur auf Fenster, und klicken Sie anschließend auf Architektur-Explorer.

  3. Klicken Sie in der ersten Spalte des Architektur-Explorers unter Visual Studio auf eine der folgenden Ansichten:

    • Klassenansicht: Dient zum Untersuchen der logischen Hierarchie des Codes.

      Wird zum Durchsuchen von Namespaces, Typen, Methoden usw. verwendet.

    • Projektmappenansicht: Dient zum Untersuchen der physischen Hierarchie des Codes.

      Wird zum Durchsuchen von Projekten, Quelldateien usw. verwendet.

  4. Wählen Sie in der nächsten Spalte die Elemente aus, die Sie untersuchen möchten. Drücken Sie STRG+A, um den gesamten Spalteninhalt auszuwählen.

    In der nächsten Spalte werden – auf der Grundlage der Standardarten von Elementen und Beziehungen für die Spalte – Elemente angezeigt, die mit der Auswahl verknüpft sind.

    Tipp

    Erweitern Sie zum Auswählen anderer Arten von Elementen und Beziehungen die reduzierte Spalte rechts neben der Spalte mit den ausgewählten Elementen. Wählen Sie unter Knotennavigation die gewünschten Elementarten aus. Wählen Sie unter Ausgehende Navigation oder Eingehende Navigation die gewünschten Beziehungsarten aus. Weitere Informationen finden Sie unter Gewusst wie: Suchen von Code im Architektur-Explorer.

  5. Wiederholen Sie Schritt 4, bis alle gewünschten Elemente ausgewählt sind.

    Tipp

    Wenn in das Diagramm Abhängigkeiten vom Typ Aufrufe eingeschlossen werden sollen, suchen Sie alle Methoden, die von den ausgewählten Klassen aufgerufen werden, und wählen Sie sie aus.

  6. Klicken Sie zum Erstellen eines neuen, auf der Auswahl basierenden Diagramms unter der Titelleiste des Architektur-Explorers auf Erstellen Sie ein neues Diagrammdokument aus allen ausgewählten Knoten.

    Visual Studio erstellt ein Dokument mit gerichtetem Diagramm (DGML-Datei) und öffnet dieses.

    - oder -

    Gehen Sie folgendermaßen vor, um die Auswahl einem vorhandenen Diagramm oder einem leeren Diagramm hinzuzufügen:

    1. Öffnen Sie die DGML-Datei des vorhandenen Diagramms, oder erstellen Sie ein leeres Diagramm (siehe Erstellen eines leeren Diagramms).

    2. Klicken Sie unter der Titelleiste des Architektur-Explorers auf Fügen Sie dem derzeit sichtbaren Diagrammdokument alle ausgewählten Knoten hinzu.

      - oder -

      Ziehen Sie die Knoten aus dem Architektur-Explorer in das Diagramm.

Erstellen eines leeren Diagramms

  1. Zeigen Sie zum Öffnen eines leeren Diagramms im Menü Datei auf Neu, und klicken Sie auf Datei.

    - oder -

    Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektmappenknoten der obersten Ebene, und klicken Sie anschließend auf Neues Element hinzufügen, um dem Ordner Projektmappenelemente ein leeres Diagramm hinzuzufügen.

  2. Klicken Sie unter Installierte Vorlagen auf Allgemein.

  3. Klicken Sie im rechten Bereich auf Dokument mit gerichtetem Diagramm, benennen Sie das Diagramm, und klicken Sie anschließend auf Hinzufügen.

Weitere Informationen zu den verschiedenen Interaktionsmöglichkeiten für das Diagramm erhalten Sie durch Klicken auf den Hilfelink im leeren Diagramm.

Untersuchen von Quellcode mit vordefinierten Abfragen

  1. Öffnen Sie die Projektmappe.

  2. Ist der Architektur-Explorer nicht geöffnet, zeigen Sie im Menü Architektur auf Fenster, und klicken Sie anschließend auf Architektur-Explorer.

  3. Klicken Sie in der ersten Spalte des Architektur-Explorers unter Gespeicherte DGQL-Abfragen auf In Ordnern.

  4. Klicken Sie in der nächsten Spalte – abhängig von der Art des Diagramms, das sie erstellen möchten – auf eine der folgenden Abfragen:

    Zu generierendes Diagramm mit folgenden Informationen

    Anzuklickendes Element

    Alle Assemblys, auf die von der Lösung verwiesen wird.

    Auf Basis der Abfrageergebnisse können Sie ein Diagramm generieren, in dem die Abhängigkeiten zwischen diesen Assemblys angezeigt werden.

    All Assembly References.dgql

    Eine flache Liste mit allen Ausgabeassemblys in der Lösung ohne Abhängigkeitslinks.

    All Output Assemblies.dgql

    Gehen Sie folgendermaßen vor, um ein Standardabhängigkeitsdiagramm für ausgewählte Assemblys zu generieren:

    1. Wählen Sie in der nächsten Spalte die gewünschten Assemblys aus.

    2. Klicken Sie auf der rechten Seite der aktuellen Spalte auf die reduzierte Aktionsspalte, um sie zu erweitern.

      HinweisHinweis
      Die Aktionsspalte wird hervorgehoben, wenn Sie den Mauszeiger über die Spalte bewegen.
    3. Klicken Sie in der Aktionsspalte unter Befehle auf Standarddiagramm.

    Alle Projekte in der Lösung.

    Auf Basis der Abfrageergebnisse können Sie ein Diagramm generieren, in dem die Verweise zwischen diesen Projekten angezeigt werden.

    All Project References.dgql

    Eine flache Liste mit allen Projekten in der Lösung.

    Wenn die Lösung Lösungsordner beinhaltet, unterscheidet sich diese Liste von der, die beim Klicken auf Projektmappenansicht (im Architektur-Explorer) angezeigt wird.

    All Projects.dgql

    Alle Typen in der Lösung.

    Auf Basis der Abfrageergebnisse können Sie ein Diagramm generieren, in dem die Vererbungsbeziehungen zwischen diesen Typen angezeigt werden.

    Inheritance Graph.dgql

    In der nächsten Spalte werden die Ergebnisse als flache Liste angezeigt. Zwischen diesen Knoten können zwar Links vorhanden sein, diese werden vom Architektur-Explorer jedoch nicht angezeigt.

  5. Gehen Sie folgendermaßen vor, um ein Diagramm für alle Elemente der Ergebnisspalte (einschließlich Links) zu generieren:

    1. Drücken Sie in der Ergebnisspalte STRG+A, um alle Elemente auszuwählen.

    2. Halten Sie STRG gedrückt, um nur Elemente in der aktuellen Spalte des Diagramms einzuschließen, und klicken Sie anschließend unter der Titelleiste des Architektur-Explorers auf Erstellen Sie ein neues Diagrammdokument aus allen ausgewählten Knoten.

      Visual Studio erstellt ein Dokument mit gerichtetem Diagramm (DGML-Datei) und öffnet dieses.

Anzeigen einer Übersicht über den kompilierten Code

  1. Erstellen Sie ein leeres Diagramm (siehe Erstellen eines leeren Diagramms), oder öffnen Sie die DGML-Datei eines vorhandenen Diagramms.

  2. Ziehen Sie die DLL- oder EXE-Datei, die sich außerhalb von Visual Studio befindet, in das Diagramm.

    Tipp

    Das Ziehen von Elementen aus dem Ordner Verweise in den Projektmappen-Explorer wird nicht unterstützt. Das Ziehen von Assemblys aus dem Windows-Explorer ist nur möglich, wenn der Windows-Explorer und Visual Studio auf der gleichen Berechtigungsstufe der Benutzerkontensteuerung (User Account Control, UAC) ausgeführt werden. Beispiel: Wird Visual Studio bei aktivierter UAC als Administrator ausgeführt, wird der Ziehvorgang vom Windows-Explorer blockiert. Deaktivieren Sie zur Umgehung dieses Problems die UAC, oder untersuchen Sie die Lösung mithilfe von vordefinierten Abfragen.

Anzeigen bestimmter Abhängigkeiten in kompiliertem Code

  1. Ist der Architektur-Explorer nicht geöffnet, zeigen Sie im Menü Architektur auf Fenster, und klicken Sie anschließend auf Architektur-Explorer.

  2. Klicken Sie in der ersten Spalte unter Dateisystem auf Dateien auswählen.

  3. Navigieren Sie im Feld Öffnen zu den DLL- oder EXE-Dateien, um sie auszuwählen und zu öffnen.

  4. Wählen Sie in der nächsten Spalte die Assemblys aus. Drücken Sie STRG+A, um den gesamten Spalteninhalt auszuwählen.

    In der nächsten Spalte werden – auf der Grundlage der Standardarten von Elementen und Beziehungen für die Spalte – Elemente angezeigt, die mit der Auswahl verknüpft sind.

    Tipp

    Erweitern Sie zum Auswählen anderer Arten von Elementen und Beziehungen die reduzierte Spalte rechts neben der Spalte mit den ausgewählten Elementen. Die Aktionsspalte wird hervorgehoben, wenn Sie den Mauszeiger über die Spalte bewegen. Wählen Sie unter Knotennavigation die gewünschten Elementarten aus. Wählen Sie unter Ausgehende Navigation oder Eingehende Navigation die gewünschten Beziehungsarten aus. Weitere Informationen finden Sie unter Gewusst wie: Suchen von Code im Architektur-Explorer.

  5. Wählen Sie eine der folgenden Optionen aus:

    So erstellen Sie ein Abhängigkeitsdiagramm aus den folgenden Elementen

    Schritte

    Assemblys

    1. Klicken Sie rechts neben der Spalte mit den Assemblys auf die reduzierte Aktionsspalte, um sie zu erweitern.

      Die Aktionsspalte wird hervorgehoben, wenn Sie den Mauszeiger über die Spalte bewegen.

    2. Klicken Sie in der Aktionsspalte unter Befehle auf Standarddiagramm.

    Klassen und Methoden

    1. Durchsuchen Sie die Klassen und Methoden, und wählen Sie alle Elemente aus, die in das Diagramm eingeschlossen werden sollen.

    2. Klicken Sie zum Erstellen eines neuen Diagramms unter der Titelleiste des Architektur-Explorers auf Erstellen Sie ein neues Diagrammdokument aus allen ausgewählten Knoten.

      Visual Studio erstellt ein Dokument mit gerichtetem Diagramm (DGML-Datei) und öffnet dieses.

      - oder -

      Gehen Sie folgendermaßen vor, um die Auswahl einem vorhandenen Diagramm oder einem leeren Diagramm hinzuzufügen:

      1. Öffnen Sie die DGML-Datei des vorhandenen Diagramms, oder erstellen Sie ein leeres Diagramm (siehe Erstellen eines leeren Diagramms).

      2. Klicken Sie unter der Titelleiste des Architektur-Explorers auf Fügen Sie dem derzeit sichtbaren Diagrammdokument alle ausgewählten Knoten hinzu.

        - oder -

        Ziehen Sie die Knoten aus dem Architektur-Explorer in das Diagramm.

Generieren von Diagrammdokumenten für die Batchverarbeitung

Verwenden Sie das Befehlszeilentool GraphCmd.exe, um Diagrammdokumente (DGML-Dateien) im Batchmodus zu generieren. Sie können z. B. nach Abhängigkeiten suchen, die sich zwischen verschiedenen Builds geändert haben, indem Sie das Tool nach jedem Buildvorgang ausführen.

Dieses Tool befindet sich im folgenden Ordner: C:\Programme\Microsoft Visual Studio 10.0\Common7\IDE.

Tipp

GraphCmd.exe generiert nur Abhängigkeitsinformationen für Assemblys und DGML-Dateien, nicht jedoch für Quellcode in Visual Studio-Projektmappen oder -Projektdateien.

Die Syntax für GraphCmd.exe lautet wie folgt:

GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec

"DGQL_Statement" -output File_Name -path alias=path

In der folgenden Tabelle werden die Optionen für GraphCmd.exe beschrieben:

-?

Zeigt die Hilfe für GraphCmd.exe an.

-all

Schließt alle Zwischenergebnisse von Abfragen ein, nicht nur für die letzte Knotengruppe.

-exceptions

Erstellt einen Bericht über Abfrageausnahmen in einem Diagrammdokument (DGML-Datei).

-input File_Name

Verarbeitet die angegebene DGML-Datei.

Dies ist hilfreich bei der Nachverarbeitung für eine große DGML-Datei, die so gefiltert werden kann, dass sie in Visual Studio visuell leichter dargestellt werden kann.

-query File_Name

Führt die angegebene DGQL (Directed Graph Query Language)-Datei aus.

Weitere Informationen finden Sie in folgenden Themen:

-exec "DGQL_Statement"

Führt die angegebene DGQL-Anweisung aus.

Weitere Informationen finden Sie unter Grundlegendes zur Directed Graph Query Language (DGQL).

-output File_Name

Gibt die angegebene DGML-Datei aus.

-path alias=path

Geben Sie einen neuen Alias an, der in der Eingabe und der Ausgabe von DGML-Dokumenten verwendet werden soll.

Beispiel:

GraphCmd -output MyGeneratedGraph.dgml -path "MyPathAlias=C:\Program Files\..."

Weitere Informationen finden Sie unter Aliase für häufig verwendete Pfade.

Hinweise

GraphCmd.exe wird außerhalb von Visual Studio ausgeführt. Daher ist die Unterstützung von Aktionen in DGQL-Abfragen eingeschränkt.

Die folgenden Optionen können mehrmals angegeben werden: -input, -query, -exec und -path.

Aliase für häufig verwendete Pfade

Aliase für häufig verwendete Pfade tragen dazu bei, die Größe der DGML-Datei und die erforderliche Zeit zum Laden und Speichern der Datei zu reduzieren. Fügen Sie zum Erstellen eines Alias am Ende der DGML-Datei einen <Paths></Paths>-Abschnitt hinzu. Fügen Sie in diesem Abschnitt ein <Path/>-Element hinzu, um einen Alias für den Pfad zu definieren:

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

Um von einem Element in der DGML-Datei auf den Alias zu verweisen, schließen Sie die Id des <Path/>-Elements in ein Dollarzeichen ($) und Klammern (()) ein:

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

Weitere Informationen zum Bearbeiten von DGML-Dateien finden Sie unter Gewusst wie: Bearbeiten und Anpassen von Diagrammdokumenten.

Grundlegendes zur Directed Graph Query Language (DGQL)

DGQL ist eine einfache Abfragesprache, mit der Sie DGML erstellen können. Eine DGQL-Anweisung folgt einem abwechselnden Muster von Knotenauswahl und Aktionen, sodass durch jede Knotenauswahl die Eingabe für die nächste Aktion erstellt wird, deren Ausgabe wiederum zur Eingabe der nächsten Knotenauswahl wird, usw.

Eine DGQL-Anweisung liegt in folgendem Format vor:

<node selection> / <action> / <node selection> / <action> / ...

In der folgenden Tabelle wird die DGQL-Syntax zum Auswählen von Knoten beschrieben:

*

Wählt alle Knoten aus.

+ "text"

Wählt alle Knoten aus, die "text" enthalten.

+ Id.Equals("text")

Wählt alle Knoten aus, deren Id gleich "text" ist.

+ Background.Contains("text")

Wählt alle Knoten aus, deren Background-Attribut über einen Wert verfügt, der die Zeichenfolge "text" enthält.

+ "text1" + "text2" + ...

Wählt alle Knoten aus, die mit "text1" oder "text2" übereinstimmen.

+ MyProperty="True"

Wählt alle Knoten aus, die über eine Eigenschaft mit dem Namen MyProperty verfügen, deren Wert "True" ist.

- Label.Contains("text")

Wählt alle Knoten mit Ausnahme der Knoten aus, die über ein Label-Attribut verfügen, das die Zeichenfolge "text" enthält (Contains).

+ Category.Is("MyCategory")

Wählt alle Knoten aus, die über eine Kategorie mit dem Namen MyCategory bzw. eine Kategorie verfügen, die von MyCategory erbt.

Aktionen werden von DGML-Datenanbietern bereitgestellt, die in Visual Studio registriert sind. Sie können diese Aktionen jedoch ermitteln, indem Sie eine im Architektur-Explorer erstellte Abfrage speichern. Weitere Informationen zum Verwenden des Architektur-Explorers finden Sie unter Gewusst wie: Suchen von Code im Architektur-Explorer.

In der folgenden Tabelle werden Beispiele für direkte Aktionen beschrieben, die für ausgewählte Knoten ausgeführt werden können:

Beispielaktion

Beschreibung

Microsoft.Contains

Gibt alle Knoten zurück, die in den Eingabeknoten enthalten sind. Sie können Contains durch eine andere Linkkategorie ersetzen.

Microsoft.Open

Öffnet den Quellcode für die Eingabeknoten.

HinweisHinweis
Funktioniert nur innerhalb von Visual Studio.

Microsoft.AllOutBoundLinks

Gibt alle Knoten zurück, die das Ziel eines von den Eingabeknoten ausgehenden Links sind.

Microsoft.AllInboundLinks

Gibt alle Knoten zurück, die das Quellende eines Links zu den Eingabeknoten sind.

Microsoft.Core.CreateGroupsByProperties

Ruft die GroupByProperties-Aktion auf.

Microsoft.AllNodes

Gibt alle Knoten im gesamten Diagramm bis zu dieser Position zurück.

Von datengesteuerten Aktionen werden Elemente lediglich auf der Grundlage der Daten in den Eingabeknoten und Links ausgewählt. Beim Vergleichen von Kategorien mit datengesteuerten Aktionen werden geerbte Kategorien eingeschlossen. In der folgenden Tabelle werden Beispiele für datengesteuerte Aktionen beschrieben:

Typ

Beschreibung

Node:Both:Category

Gibt alle Knoten zurück, die über die Kategorie Category verfügen und mit den Eingabeknoten über einen Link verbunden sind, der in beide Richtungen zeigt.

Link:Both:Category

Gibt alle Knoten zurück, die mit den Eingabeknoten über einen Link verbunden sind, der in beide Richtungen zeigt und der die Kategorie Category aufweist.

Link:Backward:Category

Gibt alle Knoten zurück, die auf die Eingabeknoten mit einem Link zeigen, der die Kategorie Category aufweist.

Link:Forward:Category

Gibt alle Knoten zurück, die von den Eingabeknoten mit einem Link zeigen, der die Kategorie Category aufweist.

Tipps

  • In der Regel gibt es für eine bestimmte Gruppe von Eingabeknoten eine "Standardaktion", die vom Architektur-Explorer automatisch ausgewählt wird. Wenn Sie dasselbe Verhalten erhalten möchten, verwenden Sie eine leere Aktion: //

  • Leerzeichen sind in DGQL irrelevant, sodass Sie Abfragen so formatieren können, dass sie ggf. auf eine Zeile passen. Dies ist hilfreich, wenn Sie die –exec-Option mit GraphCmd verwenden.

  • Verwenden Sie beim Debuggen von DGQL die Aktion "Execute Expanded" im Architektur-Explorer, sodass Sie jeden einzelnen Schritt der Abfrage verfolgen und Schritte erkennen können, die nicht die erwarteten Ergebnisse liefern.

Beispiel

Die folgende DGQL-Anweisung führt eine Abfrage entsprechend der Beschreibung in den unten stehenden Schritten aus:

+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
  1. Wählen Sie zuerst den Knoten Klassenansicht in der ersten Spalte des Architektur-Explorers aus.

  2. Führt die Aktion "Microsoft.Solution.ClassView" aus, wodurch alle Namespaces in der Projektmappe zurückgegeben werden. 

  3. Verwenden Sie *, um alle Namespaces auszuwählen.

  4. Wählen Sie alle Knoten mit der Kategorie CodeSchema_Class aus, und die durch einen Link in eine beliebige Richtung mit diesen Namespaces verknüpft sind. Diese sind normalerweise Links mit Kapselungsbeziehungen.

  5. Filtern Sie die erhaltenen Klassen, um nur die Klassen mit der Eigenschaft CodeSchemaProperty_IsPublic="True" zu erhalten.

In technischer Hinsicht ist die Aktion "Microsoft.Solution.ClassView" nicht erforderlich, da es sich hierbei um die "Standardaktion" für den Knoten Klassenansicht handelt. Daher können Sie diese Aktion durch // ersetzen, um die Abfrage zu vereinfachen und sie wie folgt auf einer einzelnen Zeile zu formatieren:

+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")

Siehe auch

Aufgaben

Vorgehensweise: Speichern, Freigeben und Exportieren von Diagrammdokumenten

Konzepte

Visualisieren von vorhandenem Code

Weitere Ressourcen

Gewusst wie: Untersuchen von Code mit Abhängigkeitsdiagrammen

Gewusst wie: Durchsuchen von und Navigieren in Diagrammdokumenten

Gewusst wie: Bearbeiten und Anpassen von Diagrammdokumenten