Gewusst wie: Überprüfen von .NET-Code anhand von Ebenendiagrammen

Dieses Thema gilt für folgende Anwendungsbereiche:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

Thema ist vorhanden Thema ist vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden

Durch das Überprüfen von Code anhand eines Ebenendiagramms können Sie während der Entwicklung des Codes die Einhaltung architekturbezogener Einschränkungen erzwingen. Bei dieser Aufgabe werden Abhängigkeiten im Code mit Abhängigkeiten im Diagramm verglichen. Die Ebenenvalidierung kann auch die folgenden Aufgaben vereinfachen:

  • Erkennen von Unterschieden zwischen dem vorhandenen Code und dem beabsichtigten Entwurf

  • Finden von Code, der nicht wie beabsichtigt organisiert ist oder unerwünschte Abhängigkeiten aufweist

  • Ermitteln von Abhängigkeiten, die möglicherweise von vorgeschlagenen Änderungen betroffen sind

    Sie können z. B. das Ebenendiagramm bearbeiten, um potenzielle Architekturänderungen darzustellen, und dann den Code überprüfen, um die betroffenen Abhängigkeiten zu ermitteln. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Ebenendiagrammen aus Artefakten und Ebenendiagramme: Richtlinien.

  • Umgestalten oder Migrieren von Code in einen anderen Entwurf

    Ermitteln von Code oder Abhängigkeiten, die bei der Umstellung des Codes auf eine andere Architektur noch bearbeitet werden müssen

Bevor Sie den Code überprüfen können, muss die Visual Studio-Projektmappe mindestens ein Modellierungsprojekt mit einem Ebenendiagramm enthalten. Das Ebenendiagramm beschreibt die Architektur des Systems und organisiert Namespaces, Projekte und andere Artefakte in logischen, abstrakten Gruppen oder Ebenen. Diese Ebenen beschreiben die Hauptkomponenten des Systems oder die Aufgaben, die von diesen Artefakten ausgeführt werden. Sie müssen diese Ebenen definieren, Artefakte mit ihnen verknüpfen und die beabsichtigten Abhängigkeiten zwischen diesen Artefakten beschreiben.

Tipp

Bestimmte Arten von Artefakten können mit Ebenen verknüpft, aber nicht anhand des Ebenendiagramms überprüft werden. Öffnen Sie den Ebenen-Explorer, und überprüfen Sie die Eigenschaft Unterstützt die Validierung des Artefaktlinks, um festzustellen, ob das Artefakt die Validierung unterstützt. Weitere Informationen finden Sie unter Artefakte, die keine Validierung unterstützen.

Weitere Informationen zum Erstellen von Ebenendiagrammen finden Sie in den folgenden Themen:

Laden Sie Microsoft Visual Studio 2010 Visualization and Modeling Feature Pack herunter und installieren Sie es, um C- oder C++-Code zu überprüfen.

Weitere Informationen finden Sie unter Gewusst wie: Überprüfen von C- und C++-Code anhand von Ebenendiagrammen.

In diesem Thema

  • Assemblys und Projekte zur Validierung manuell hinzufügen.

  • Manuelle Überprüfung des Codes zu einem beliebigen Zeitpunkt

  • Automatische Überprüfung des Codes während eines lokalen Builds

  • Automatische Überprüfung des Codes mit Team Foundation Build

  • Beheben von Problemen mit der Ebenenvalidierung.

Assemblys und Projekte zur Validierung manuell hinzufügen.

Der Ordner Ebenenverweise in einem Modellierungsprojekts enthält Verweise auf die Assemblys und die Projekte, die während der Validierung analysiert werden. Wenn Sie Elemente in das Ebenendiagramm ziehen, werden diesem Ordner automatisch Verweise auf die entsprechenden Assemblys oder Projekte hinzugefügt. Sie können Assemblys und Projekte auch manuell zur Validierung hinzufügen, ohne sie in das Ebenendiagramm zu ziehen.

So fügen Sie Assemblys und Projekte zur Validierung manuell hinzu.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Modellierungsprojekt oder den Ordner Ebenenverweise, und klicken Sie dann auf Verweis hinzufügen.

  2. Wählen Sie im Dialogfeld Verweis hinzufügen die Assemblys oder Projekte aus, und klicken Sie anschließend auf OK.

Manuelle Überprüfung des Codes zu einem beliebigen Zeitpunkt

So überprüfen Sie Code in einem geöffneten Ebenendiagramm

  1. Klicken Sie mit der rechten Maustaste auf die Diagrammoberfläche, und klicken Sie dann auf Architektur überprüfen.

    Tipp

    Die Eigenschaft Buildvorgang in der Ebenendiagrammdatei (.layerdiagram) ist standardmäßig auf Überprüfen festgelegt, sodass das Diagramm in den Validierungsvorgang eingeschlossen wird.

    Im Fenster Fehlerliste werden ggf. auftretende Fehler angezeigt. Weitere Informationen zu Validierungsfehlern finden Sie unter Grundlagen zu Ebenenvalidierungsfehlern.

  2. Um die Quelle der einzelnen Fehler anzuzeigen, doppelklicken Sie im Fenster Fehlerliste auf den Fehler.

    Tipp

    Visual Studio zeigt möglicherweise anstelle der Quelle des Fehlers ein Abhängigkeitsdiagramm an. Dies ist der Fall, wenn der Code eine Abhängigkeit von einer Assembly enthält, die nicht im Ebenendiagramm angegeben ist, oder wenn im Code eine im Ebenendiagramm angegebene Abhängigkeit fehlt. Überprüfen Sie das Abhängigkeitsdiagramm oder den Code, um festzustellen, ob die Abhängigkeit vorhanden sein sollte. Weitere Informationen zu Abhängigkeitsdiagrammen finden Sie unter Gewusst wie: Durchsuchen von und Navigieren in Diagrammdokumenten.

  3. Informationen zum Verwalten von Fehlern finden Sie unter Verwalten von Validierungsfehlern.

So überprüfen Sie Code über die Eingabeaufforderung

  1. Öffnen Sie die Visual Studio-Eingabeaufforderung.

    Klicken Sie zum Öffnen der Eingabeaufforderung auf Start, zeigen Sie auf Alle Programme, auf Microsoft Visual Studio 2010 und auf Visual Studio-Tools, und klicken Sie dann auf Visual Studio 2010-Eingabeaufforderung.

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

    • Wenn Sie Code anhand eines bestimmten Modellierungsprojekts in der Projektmappe überprüfen möchten, führen Sie MSBuild mit der folgenden benutzerdefinierten Eigenschaft aus.

      msbuild <FilePath+ModelProjectFileName>.modelproj
      /p:ValidateArchitecture=true
      

      - oder -

      Navigieren Sie zum Ordner mit der Modellierungsprojektdatei (.modelproj) und dem Ebenendiagramm, und führen Sie MSBuild dann mit der folgenden benutzerdefinierten Eigenschaft aus:

      msbuild /p:ValidateArchitecture=true 
      
    • Wenn Sie Code anhand aller Modellierungsprojekte in der Projektmappe überprüfen möchten, führen Sie MSBuild mit der folgenden benutzerdefinierten Eigenschaft aus:

      msbuild <FilePath+SolutionName>.sln /p:ValidateArchitecture=true 
      

      - oder -

      Navigieren Sie zu einem Projektmappenordner, der ein Modellierungsprojekt mit einem Ebenendiagramm enthält, und führen Sie MSBuild dann mit der folgenden benutzerdefinierten Eigenschaft aus:

      msbuild /p:ValidateArchitecture=true
      

    Alle aufgetretenen Fehler werden aufgelistet. Weitere Informationen zu MSBuild finden Sie unter MSBuild und MSBuild-Aufgabe.

Weitere Informationen zu Validierungsfehlern finden Sie unter Grundlagen zu Ebenenvalidierungsfehlern.

Verwalten von Validierungsfehlern

Während des Entwicklungsprozesses können Sie ggf. einige der Konflikte unterdrücken, die während der Validierung gemeldet werden. Beispielsweise können Sie Fehler unterdrücken, die Sie bereits behandeln oder die für das spezifische Szenario nicht relevant sind. Wenn Sie einen Fehler unterdrücken, empfiehlt es sich, in Team Foundation eine Arbeitsaufgabe zu protokollieren.

So erstellen Sie eine Arbeitsaufgabe für einen Validierungsfehler

  • Klicken Sie im Fenster Fehlerliste mit der rechten Maustaste auf den Fehler, zeigen Sie auf Arbeitsaufgabe erstellen, und klicken Sie anschließend auf den zu erstellenden Arbeitsaufgabentyp.

Mithilfe dieser Aufgaben können Sie Validierungsfehler im Fenster Fehlerliste unterdrücken:

Zweck

Schritte

Unterdrücken von ausgewählten Fehlern während der Validierung

Klicken Sie mit der rechten Maustaste auf den oder die ausgewählten Fehler, zeigen Sie auf Validierungsfehler unterdrücken, und klicken Sie anschließend auf Fehler unterdrücken.

Die unterdrückten Fehler werden durchgestrichen dargestellt. Beim nächsten Ausführen der Validierung werden diese Fehler nicht mehr angezeigt.

Unterdrückte Fehler werden in einer SUPPRESSIONS-Datei für die entsprechende Ebenendiagrammdatei nachverfolgt.

Beenden der Unterdrückung von ausgewählten Fehlern

Klicken Sie mit der rechten Maustaste auf den oder die unterdrückten Fehler, zeigen Sie auf Validierungsfehler unterdrücken, und klicken Sie dann auf Fehler nicht mehr unterdrücken.

Beim nächsten Ausführen der Validierung werden die ausgewählten unterdrückten Fehler wieder angezeigt.

Wiederherstellen aller unterdrückten Fehler im Fenster Fehlerliste

Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Fenster Fehlerliste, zeigen Sie auf Validierungsfehler unterdrücken, und klicken Sie dann auf Unterdrückte Fehler anzeigen.

Ausblenden aller unterdrückten Fehler im Fenster Fehlerliste

Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Fenster Fehlerliste, zeigen Sie auf Validierungsfehler unterdrücken, und klicken Sie dann auf Unterdrückte Fehler ausblenden.

Automatische Überprüfung des Codes während eines lokalen Builds

Verwenden Sie diese Methode, wenn Code jedes Mal automatisch überprüft werden soll, wenn Sie einen lokalen Build ausführen.

So überprüfen Sie Code automatisch anhand eines lokalen Builds

  • Öffnen Sie die Modellierungsprojektdatei (.modelproj) mithilfe eines Text-Editors, und fügen Sie dann die folgende Eigenschaft ein:
<ValidateArchitecture>true</ValidateArchitecture>

- oder -

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Modellierungsprojekt, das die Ebenendiagramme enthält, und klicken Sie dann auf Eigenschaften.

  2. Legen Sie im Fenster Eigenschaften die Eigenschaft Architektur überprüfen des Modellierungsprojekts auf True fest.

    Dadurch wird das Modellierungsprojekt in den Validierungsprozess eingeschlossen.

  3. Klicken Sie im Projektmappen-Explorer auf die Ebenendiagrammdatei (.layerdiagram), die Sie zur Validierung verwenden möchten.

  4. Vergewissern Sie sich im Fenster Eigenschaften, dass die Eigenschaft Buildvorgang des Diagramms auf Überprüfen festgelegt ist.

    Dadurch wird das Ebenendiagramm in den Validierungsprozess eingeschlossen.

Weitere Informationen zu Validierungsfehlern finden Sie unter Grundlagen zu Ebenenvalidierungsfehlern. Informationen zum Verwalten von Fehlern finden Sie unter Verwalten von Validierungsfehlern.

Automatische Überprüfung des Codes mit Team Foundation Build

Schließen Sie die Ebenenvalidierung mit ihren Builds ein, die mit Team Foundation Build und mit abgegrenzten Eincheckvorgängen ausgeführt werden, um solche Änderungen im Code zu verhindern, die Konflikte mit dem geplanten Entwurf verursachen. Abgegrenzte Eincheckvorgänge können durch Erstellen einer benutzerdefinierten Aufgabe MSBuild angegeben werden. Verwenden Sie Buildberichte zum Erfassen der Validierungsfehler.

Weitere Informationen zu Team Foundation Build finden Sie in den folgenden Themen:

Weitere Informationen zum Erstellen von abgegrenzten Eincheckbuilds finden Sie unter Definieren eines abgegrenzten Eincheckbuilds zur Überprüfung der Änderungen.

So überprüfen Sie Code bei der Ausführung von Team Foundation Build

  1. Doppelklicken Sie in Team Explorer auf die Builddefinition, und klicken Sie dann auf Prozess.

  2. Erweitern Sie unter Buildprozessparameter das Element Kompilierung, und geben Sie Folgendes im Parameter MSBuild-Argumente ein:

    /p:ValidateArchitecture=true

Weitere Informationen finden Sie unter Definieren eines Builds mithilfe der Standardvorlage.

Artefakte, die keine Validierung unterstützen

Artefakte, die eine Validierung durch ein Ebenendiagramm nicht unterstützen, sind C++-Projekte, Websites, Office-Dokumente und Nur-Text-Dateien. Sie können diese Artefakte mit Ebenen verknüpfen, jedoch werden sie bei der Validierung ignoriert. Für Verweise auf Projekte oder Assemblys, die mit separaten Ebenen verknüpft sind, treten keine Validierungsfehler auf, wenn keine Abhängigkeiten zwischen diesen Ebenen angezeigt werden. Solche Verweise werden nur dann als Abhängigkeiten betrachtet, wenn sie im Code verwendet werden.

So überprüfen Sie, ob ein Artefakt Validierung unterstützt

  1. Wählen Sie in einem Ebenendiagramm eine oder mehrere Ebenen aus, klicken Sie mit der rechten Maustaste auf die Auswahl, und klicken Sie dann auf Links anzeigen.

  2. Überprüfen Sie im Ebenen-Explorer die Spalte Unterstützt die Validierung.

    Wenn der Wert für ein Artefaktlink false ist, wird Validierung von diesem Artefakt nicht unterstützt.

Beheben von Problemen mit der Ebenenvalidierung.

In der folgenden Tabelle sind Ebenenvalidierungsprobleme und entsprechende Lösungen aufgeführt. Diese Probleme unterscheiden sich von Fehlern, die das Ergebnis von Konflikten zwischen Code und Entwurf sind. Weitere Informationen zu diesen Fehlern finden Sie unter Grundlagen zu Ebenenvalidierungsfehlern.

Problem

Mögliche Ursache

Lösung

Validierungsfehler treten nicht wie erwartet auf.

Die Validierung funktioniert nicht mit Ebenendiagrammen, die aus anderen Ebenendiagrammen im Projektmappen-Explorer kopiert wurden und sich im gleichen Modellierungsprojekt befinden. Ebenendiagramme, die auf diese Weise kopiert werden, enthalten die gleichen Verweise wie das ursprüngliche Ebenendiagramm.

  1. Fügen Sie dem Modellierungsprojekt ein neues Ebenendiagramm hinzu.

  2. Kopieren Sie die Elemente aus dem Quellebenendiagramm in das neue Diagramm.

Siehe auch

Konzepte

Überprüfen des Systems während der Entwicklung

Weitere Ressourcen

Grundlagen zu Ebenenvalidierungsfehlern