Ebenendiagramme: Richtlinien

Sie können in Visual Studio Ultimate die Struktur einer Anwendung auf einer allgemeinen Ebene beschreiben und mithilfe von Ebenendiagrammen überpüfen, ob der Code diesem allgemeinen Entwurf entspricht. Um sicherzustellen, dass der Code mit dem Entwurf konsistent bleibt, können Sie Ebenenvalidierung als Teil des Buildprozesses einschließen.

In einem Ebenendiagramm werden wie in einem herkömmlichen Architekturdiagramm die wichtigsten Komponenten oder Funktionseinheiten des Entwurfs sowie ihre Abhängigkeiten identifiziert. Jeder Knoten im Diagramm, als Ebene bezeichnet, stellt eine logische Gruppe von Namespaces, Projekten oder anderen Artefakten dar. Sie können die Abhängigkeiten zeichnen, die im Entwurf vorhanden sein sollen. Anders als bei einem herkömmlichen Architekturdiagramm können Sie überprüfen, ob die tatsächlichen Abhängigkeiten im Quellcode den gewünschten Abhängigkeiten entsprechen, die Sie angegeben haben. Indem Sie die Validierung zu einem Bestandteil eines regulären Buildvorgangs in Team Foundation Server machen, stellen Sie sicher, dass der Programmcode auch in zukünftigen Änderungen mit der Architektur des Systems übereinstimmt.

Weitere Informationen zu den Elementen in Ebenendiagrammen und deren Eigenschaften finden Sie unter Ebenendiagramme: Referenz.

So entwerfen oder aktualisieren Sie die Anwendung mit Ebenendiagrammen

Die folgenden Schritte bieten einen Überblick über die Verwendung von Ebenendiagrammen im Entwicklungsprozess. In späteren Abschnitten dieses Themas werden die einzelnen Schritte ausführlicher beschrieben. Wenn Sie einen neuen Entwurf entwickeln, lassen Sie die Schritte aus, die sich auf vorhandenen Code beziehen.

Tipp

Die Schritte entsprechen ungefähr der tatsächlichen Reihenfolge. Wahrscheinlich werden Sie die Aufgaben überlappend ausführen, die Reihenfolge Ihrer eigenen Situation anpassen und am Anfang jeder Iteration im Projekt nochmals auf die Beschreibung der Schritte zurückkommen.

  1. Erstellen Sie ein Ebenendiagramm für die gesamte Anwendung oder für eine Ebene in der Anwendung.

  2. Definieren Sie Ebenen, um die wichtigsten Funktionsbereiche oder Komponenten der Anwendung darzustellen. Benennen Sie diese Ebenen nach ihrer Funktion, z. B. "Präsentation" oder "Dienste". In einer Visual Studio-Projektmappe können Sie jede Ebene einer Auflistung von Artefakten zuordnen, z. B. Projekten, Namespaces, Dateien usw.

  3. Ermitteln Sie die vorhandenen Abhängigkeiten zwischen Ebenen.

  4. Bearbeiten Sie die Ebenen und Abhängigkeiten, um den aktualisierten Entwurf darzustellen, dem der Code entsprechen soll.

  5. Entwerfen Sie neue Bereiche der Anwendung, indem Sie Ebenen erstellen, um die wichtigsten Architekturblöcke oder -komponenten darzustellen, und Abhängigkeiten definieren, um zu zeigen, wie jede Ebene die anderen Ebenen verwendet.

  6. Bearbeiten Sie das Layout und die Darstellung des Diagramms, damit Sie es mit Kollegen erörtern können.

  7. Überprüfen Sie den Code anhand des Ebenendiagramms, um die Konflikte zwischen dem Code und der erforderlichen Architektur aufzuzeigen.

  8. Aktualisieren Sie den Code, damit er der neuen Architektur entspricht. Führen Sie die Entwicklung und Umgestaltung von Code in Iterationen durch, bis bei der Validierung keine Konflikte auftreten.

  9. Schließen Sie Ebenenvalidierung in den Buildvorgang ein, um sicherzustellen, dass der Code weiterhin dem Entwurf entspricht.

Erstellen eines Ebenendiagramms

Ein Ebenendiagramm muss in einem Modellierungsprojekt erstellt werden. Sie können einem vorhandenen Modellierungsprojekt ein neues Ebenendiagramm hinzufügen, oder Sie können in der Projektmappe für das neue Ebenendiagramm eine neue Modellierung erstellen.

So fügen Sie einem Modellierungsprojekt ein neues Ebenendiagramm hinzu

  1. Klicken Sie im Menü Architektur auf Neues Diagramm.

  2. Klicken Sie unter Vorlagen auf Ebenendiagramm.

  3. Benennen Sie das Diagramm.

  4. Navigieren Sie unter Zu Modellierungsprojekt hinzufügen zu einem in der Lösung vorhandenen Modellierungsprojekt, und wählen Sie es aus.

    - oder -

    Klicken Sie auf Neues Modellierungsprojekt erstellen, um der Lösung ein neues Modellierungsprojekt hinzuzufügen.

    Tipp

    Das Ebenendiagramm muss in einem Modellierungsprojekt vorhanden sein. Sie können es allerdings mit Artefakten verknüpfen, die sich an einer beliebigen Stelle in der Lösung befinden.

Sie können auch ein vorhandenes Ebenendiagramm innerhalb des gleichen Modellierungsprojekts kopieren.

Tipp

Fügen Sie Modellierungsprojekten oder anderen Speicherorten in der Projektmappe keine vorhandenen Ebenendiagramme aus Modellierungsprojekten hinzu, und kopieren bzw. verschieben Sie diese nicht. Ein Ebenendiagramm, das auf diese Weise kopiert wird, weist die gleichen Verweise wie das ursprüngliche Diagramm auf, auch wenn Sie das Diagramm ändern. Dies verhindert die ordnungsgemäße Funktion der Ebenenvalidierung und verursacht möglicherweise andere Probleme, z. B. fehlende Elemente oder andere Fehler beim Versuch, das Diagramm zu öffnen.

Führen Sie zum Kopieren eines Ebenendiagramms folgende Schritte aus:

So kopieren Sie ein vorhandenes Ebenendiagramm

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

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

Definieren von Ebenen zur Darstellung von Funktionsbereichen oder Komponenten

Ebenen stellen logische Gruppen von Artefakten dar, z. B. Projekte, Codedateien, Namespaces, Klassen und Methoden. Sie können in der Visual Studio-Projektmappe Ebenen aus Artefakten erstellen, oder Sie können Spezifikationen oder Pläne an eine Ebene anfügen, indem Sie Dokumente verknüpfen, z. B. Word-Dateien oder PowerPoint-Präsentationen. Jede Ebene wird im Diagramm als Rechteck angezeigt und gibt Aufschluss über die Anzahl der mit ihr verknüpften Artefakte. Eine Ebene kann geschachtelte Ebenen enthalten, um komplexere Aufgaben zu beschreiben.

Benennen Sie als allgemeine Richtlinie Ebenen nach ihrer Funktion, z. B. "Präsentation" oder "Dienste". Fügen Sie Artefakte in der gleichen Ebene ein, wenn zwischen ihnen eine enge Abhängigkeit besteht. Wenn die Artefakte getrennt voneinander aktualisiert oder in separaten Anwendungen verwendet werden können, sollten sie auf unterschiedlichen Ebenen eingefügt werden. Informationen zu Ebenenmustern finden Sie auf der Website "Patterns & Practices" unter https://go.microsoft.com/fwlink/?LinkId=145794.

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 Verwalten von Links zwischen Ebenen und Artefakten.

Wenn Sie eine Anwendung aktualisieren, mit der Sie nicht vertraut sind, können Sie den Code mithilfe von Abhängigkeitsdiagrammen leichter untersuchen und verstehen. Diese Diagramme unterstützen Sie beim Erkennen von Gruppierungen und Abhängigkeiten im Code. Mithilfe des Architektur-Explorers können auch Namespaces und Klassen untersucht werden, die häufig den vorhandenen Ebenen entsprechen. Dies erleichtert die Zuweisung von Artefakten zu Ebenen. Anschließend können Sie den Code mithilfe von Ebenendiagrammen aktualisieren.

Weitere Informationen finden Sie unter den folgenden Themen:

Verwenden Sie zum Erstellen von Ebenen die folgenden Aufgaben:

Zweck

Auszuführende Schritte

Erstellen einer Ebene für ein einzelnes Artefakt

  1. Ziehen Sie das Artefakt aus einer der folgenden Quellen in das Ebenendiagramm:

    Im Diagramm wird eine Ebene angezeigt und mit dem Artefakt verknüpft.

  2. Ändern Sie den Namen der Ebene, um die Aufgaben des zugeordneten Codes oder der Artefakte widerzuspiegeln.

Erstellen einer einzelnen Ebene für alle ausgewählten Artefakte

Ziehen Sie alle ausgewählten Artefakte gleichzeitig in das Ebenendiagramm.

Im Diagramm wird eine Ebene angezeigt und mit der gesamten Gruppe von Artefakten verknüpft.

Erstellen einer Ebene für jedes ausgewählte Artefakt

Halten Sie die UMSCHALTTASTE gedrückt, während Sie alle Artefakte gleichzeitig in das Ebenendiagramm ziehen.

HinweisHinweis
Wenn Sie mithilfe der UMSCHALTTASTE einen Bereich von Elementen auswählen, lassen Sie die Taste nach dem Auswählen der Artefakte los.Halten Sie sie anschließend erneut gedrückt, wenn Sie die Artefakte in das Diagramm ziehen.

Im Diagramm wird für jedes Artefakt eine Ebene angezeigt und mit dem jeweiligen Artefakt verknüpft.

Hinzufügen eines Artefakts zu einer Ebene

Ziehen Sie das Artefakt auf die Ebene.

Erstellen einer neuen, nicht verknüpften Ebene

Erweitern Sie in der Toolbox den Abschnitt Ebenendiagramm, und ziehen Sie anschließend eine Ebene in das Ebenendiagramm.

Doppelklicken Sie zum Erstellen mehrerer Ebenen auf das Tool. Klicken Sie nach Abschluss des Vorgangs auf das Tool Zeiger, oder drücken Sie ESC.

- oder -

Klicken Sie mit der rechten Maustaste auf das Ebenendiagramm, zeigen Sie auf Hinzufügen, und klicken Sie anschließend auf Ebene.

Auf diese Weise können Sie z. B. einen Teil der Anwendungen darstellen, mit dessen Entwicklung Sie noch nicht begonnen haben. Es empfiehlt sich, bereits frühzeitig Platzhaltercode für solche Ebenen zu erstellen.

Erstellen geschachtelter Ebenen

Ziehen Sie eine vorhandene Ebene auf eine andere Ebene.

- oder -

Klicken Sie mit der rechten Maustaste auf eine Ebene, zeigen Sie auf Hinzufügen, und klicken Sie anschließend auf Ebene.

Erstellen einer neuen Ebene, die mehrere vorhandene Ebenen enthält

Wählen Sie die Ebenen aus, klicken Sie mit der rechten Maustaste auf eine ausgewählte Ebene, und klicken Sie anschließend auf Gruppe.

Ändern der Farbe einer Ebene

Legen Sie die Eigenschaft Farbe auf die gewünschte Farbe fest.

Angeben, dass einer Ebene zugeordnete Artefakte nicht von den angegebenen Namespaces abhängen dürfen

Geben Sie die Namespaces in die Eigenschaft für unzulässige Namespaceabhängigkeiten der Ebene ein. Trennen Sie die Namespaces mit einem Semikolon (;).

Angeben, dass einer Ebene zugeordnete Artefakte nicht zu den angegebenen Namespaces gehören dürfen

Geben Sie die Namespaces in die Eigenschaft für unzulässige Namespaces der Ebene ein. Trennen Sie die Namespaces mit einem Semikolon (;).

Angeben, dass einer Ebene zugeordnete Artefakte zu einem der angegebenen Namespaces gehören müssen

Geben Sie den Namespace in die Eigenschaft für erforderliche Namespaces der Ebene ein. Trennen Sie die Namespaces mit einem Semikolon (;).

  1. Klicken Sie im Ebenendiagramm mit der rechten Maustaste auf eine Ebene, und klicken Sie anschließend auf Links anzeigen.

    Im Ebenen-Explorer werden Artefakte angezeigt, die mit der ausgewählten Ebene verbunden sind. Klicken Sie auf das Diagramm, um alle Artefakte anzuzeigen, die mit den Ebenen des Diagramms verbunden sind.

  2. Verwenden Sie zum Verwalten dieser Links die folgenden Aufgaben:

    Zweck

    Im Ebenen-Explorer

    Löschen des Links zwischen der Ebene und einem Artefakt

    Klicken Sie mit der rechten Maustaste auf den Artefaktlink, und klicken Sie anschließend auf Löschen.

    Verschieben des Links von einer Ebene auf eine andere Ebene

    Ziehen Sie den Artefaktlink auf eine Ebene im Diagramm.

    - oder -

    1. Klicken Sie mit der rechten Maustaste auf den Artefaktlink, und klicken Sie anschließend auf Ausschneiden.

    2. Klicken Sie im Ebenendiagramm mit der rechten Maustaste auf die Ebene, und klicken Sie anschließend auf Einfügen.

    Kopieren des Links von einer Ebene auf eine andere Ebene

    1. Klicken Sie mit der rechten Maustaste auf den Artefaktlink, und klicken Sie anschließend auf Kopieren.

    2. Klicken Sie im Ebenendiagramm mit der rechten Maustaste auf die Ebene, und klicken Sie anschließend auf Einfügen.

    Erstellen einer neuen Ebene aus einem vorhandenen Artefaktlink

    Ziehen Sie den Artefaktlink in einen leeren Bereich des Diagramms.

    Überprüfen, ob ein verknüpftes Artefakt die Validierung anhand des Ebenendiagramms unterstützt

    Suchen Sie den Artefaktlink in der Spalte Unterstützt die Validierung.

    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.

Ermitteln von vorhandenen Abhängigkeiten zwischen Ebenen

Eine Abhängigkeit ist überall dort vorhanden, wo ein Artefakt, das einer Ebene zugeordnet ist, einen Verweis auf ein Artefakt enthält, das einer anderen Ebene zugeordnet ist. Beispiel: Eine Klasse in einer Ebene deklariert eine Variable, deren Klasse sich auf einer anderen Ebene befindet. Vorhandene Abhängigkeiten können mittels Reverse Engineering (Zurückentwicklung) ermittelt werden.

Tipp

Bei bestimmten Arten von Artefakten ist kein Reverse Engineering der Abhängigkeiten möglich. So kann beispielsweise bei einer Ebene, die mit einer Textdatei verknüpft ist, keinerlei Rückentwicklung der Abhängigkeiten vorgenommen werden. Klicken Sie zum Anzeigen der Artefakte mit Abhängigkeiten, bei denen eine Rückentwicklung möglich ist, mit der rechten Maustaste auf mindestens eine Ebene, und klicken Sie anschließend auf Links anzeigen. Überprüfen Sie im Ebenen-Explorer die Spalte Unterstützt die Validierung. Bei Artefakten, die in dieser Spalte den Eintrag False enthalten, ist keine Rückentwicklung von Abhängigkeiten möglich.

So entwickeln Sie vorhandene Abhängigkeiten zwischen Ebenen zurück

  • Wählen Sie mindestens eine Ebene aus, klicken Sie mit der rechten Maustaste auf die ausgewählte Ebene, und klicken Sie anschließend auf Abhängigkeiten generieren.

In der Regel sind einige unerwünschte Abhängigkeiten vorhanden. Diese Abhängigkeiten können bearbeitet werden, um sie mit dem geplanten Entwurf in Einklang zu bringen.

Bearbeiten von Ebenen und Abhängigkeiten entsprechend dem beabsichtigten Entwurf

Sie können das Diagramm entsprechend dem aktualisierten Entwurf bearbeiten, um die geplanten Änderungen des Systems zu beschreiben. Sie können vor dem Erweitern des Codes ggf. auch einige Umgestaltungsänderungen vornehmen, um die Codestruktur zu verbessern. Weitere Informationen finden Sie unter Verbessern der Struktur des Codes.

Zweck

Auszuführende Schritte

Löschen einer Abhängigkeit, die nicht vorhanden sein sollte

Klicken Sie auf die Abhängigkeit, und drücken Sie ENTF.

Ändern oder Einschränken der Richtung einer Abhängigkeit

Legen Sie die Eigenschaft Richtung fest.

Erstellen von neuen Abhängigkeiten

Verwenden Sie die Tools Abhängigkeit und Bidirektionale Abhängigkeit.

Doppelklicken Sie zum Zeichnen mehrerer Abhängigkeiten auf das Tool. Klicken Sie nach Abschluss des Vorgangs auf das Tool Zeiger, oder drücken Sie ESC.

Angeben, dass einer Ebene zugeordnete Artefakte nicht von den angegebenen Namespaces abhängen dürfen

Geben Sie die Namespaces in die Eigenschaft für unzulässige Namespaceabhängigkeiten der Ebene ein. Trennen Sie die Namespaces mit einem Semikolon (;).

Angeben, dass einer Ebene zugeordnete Artefakte nicht zu den angegebenen Namespaces gehören dürfen

Geben Sie die Namespaces in die Eigenschaft für unzulässige Namespaces der Ebene ein. Trennen Sie die Namespaces mit einem Semikolon (;).

Angeben, dass einer Ebene zugeordnete Artefakte zu einem der angegebenen Namespaces gehören müssen

Geben Sie den Namespace in die Eigenschaft für erforderliche Namespaces der Ebene ein. Trennen Sie die Namespaces mit einem Semikolon (;).

Verbessern der Struktur des Codes

Umgestaltungsänderungen sind Verbesserungen, die das Verhalten der Anwendung nicht ändern, jedoch zukünftige Änderungen und Erweiterungen des Codes erleichtern. Der Entwurf von gut strukturiertem Code lässt sich leicht in einem Ebenendiagramm abstrakt darstellen.

Wenn Sie z. B. eine Ebene für jeden Namespace im Code erstellen und die Abhängigkeiten dann zurück entwickeln, sollte die Anzahl unidirektionaler Abhängigkeiten zwischen den Ebenen minimal sein. Wenn Sie ein detailliertes Diagramm mit Klassen oder Methoden als Ebenen zeichnen, sollte das Ergebnis dieselben Merkmale aufweisen.

Falls dies nicht der Fall ist, sind Änderungen des Codes während seiner Lebensdauer schwieriger, und er eignet sich weniger für die Validierung mithilfe von Ebenendiagrammen.

Entwerfen von neuen Bereichen der Anwendung

Wenn Sie mit der Entwicklung eines neuen Projekts oder eines neuen Bereichs in einem neuen Projekt beginnen, können Sie Ebenen und Abhängigkeiten zeichnen, um die Hauptkomponenten zu identifizieren, bevor Sie mit dem Entwickeln des Codes beginnen.

  • Zeigen Sie identifizierbare architektonische Muster in den Ebenendiagrammen an, sofern möglich. Beispielsweise kann ein Ebenendiagramm, das eine Desktopanwendung beschreibt, die Ebenen Präsentation, Domänenlogik und Datenspeicher enthalten. Ein Ebenendiagramm für eine einzelne Funktion in einer Anwendung kann beispielsweise die Ebenen Modell, Ansicht und Controller enthalten. Weitere Informationen zu solchen Mustern finden Sie in Patterns & Practices: Application Architecture.

    Wenn Sie häufig ähnliche Muster entwerfen, erstellen Sie ein benutzerdefiniertes Tool. Weitere Informationen finden Sie unter Gewusst wie: Definieren eines benutzerdefinierten Elements für die Modellerstellungstoolbox.

  • Erstellen Sie ein Codeartefakt für jede Ebene, z. B. einen Namespace, eine Klasse oder eine Komponente. Dies vereinfacht das Verfolgen des Codes und das Verknüpfen der Codeartefakte mit den Ebenen. Verknüpfen Sie jedes Artefakt mit der entsprechenden Ebene, sobald Sie das Artefakt erstellen.

  • Sie müssen die meisten Klassen und andere Artefakte nicht mit Ebenen verknüpfen, da sie zu größeren Artefakten z. B. Namespaces, gehören, die Sie bereits mit Ebenen verknüpft haben.

  • Erstellen Sie für eine neue Funktion ein neues Diagramm. In der Regel sind ein oder mehrere Ebenendiagramme vorhanden, die die gesamte Anwendung beschreiben. Wenn Sie eine neue Funktion in der Anwendung entwerfen, ändern Sie nicht die vorhandenen Diagramme, und fügen Sie ihnen keine Elemente hinzu. Erstellen Sie stattdessen ein eigenes Diagramm, das die neuen Teile des Codes wiedergibt. Das neue Diagramm kann beispielsweise Ebenen für die Präsentation, Domänenlogik und Datenbank der neuen Funktion enthalten.

    Wenn Sie die Anwendung erstellen, wird der Code sowohl anhand des allgemeinen Diagramms als auch anhand des ausführlicheren Funktionsdiagramms überprüft.

Bearbeiten des Layouts für die Präsentation und Diskussion

Bearbeiten Sie Darstellung und Layout des Diagramms, um die Suche nach Ebenen und Abhängigkeiten sowie Diskussionen mit Teammitgliedern zu vereinfachen. Führen Sie hierzu die folgenden Schritte aus:

  • Ändern der Größe, Formen und Positionen von Ebenen

  • Ändern der Farben von Ebenen und Abhängigkeiten

    • Wählen Sie eine oder mehrere Ebenen oder Abhängigkeiten aus, klicken Sie mit der rechten Maustaste, und klicken Sie dann auf Eigenschaften. Bearbeiten Sie im Eigenschaftenfenster die Eigenschaft Farbe.

Überprüfen des Codes anhand des Diagramms

Wenn Sie das Diagramm bearbeitet haben, können Sie es jederzeit manuell oder automatisch beim Ausführen eines lokalen Builds anhand des Codes überprüfen. Sie können die Validierung auch mithilfe von Team Foundation Server bei jedem Build automatisch ausführen.

Weitere Informationen finden Sie in folgenden Themen:

So fügen Sie manuell Assemblys oder Projekte zur Validierung 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.

So überprüfen Sie Code manuell 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 Aktualisieren des Codes entsprechend der neuen Architektur.

So überprüfen Sie Code manuell ü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.

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 Aktualisieren des Codes entsprechend der neuen Architektur.

Aktualisieren des Codes entsprechend der neuen Architektur

Normalerweise treten Fehler auf, wenn Sie den Code zum ersten Mal anhand eines aktualisierten Ebenendiagramms überprüfen. Diese Fehler können mehrere Ursachen haben:

  • Ein Artefakt wurde der falschen Ebene zugewiesen. Verschieben Sie in diesem Fall das Artefakt.

  • Von einem Artefakt (beispielsweise einer Klasse) wird eine andere Klasse auf eine Weise verwendet, die einen Konflikt mit der Architektur zur Folge hat. Gestalten Sie in diesem Fall den Code um, um die Abhängigkeit zu entfernen.

Aktualisieren Sie zum Beheben dieser Fehler den Code, bis bei der Validierung keine Fehler mehr angezeigt werden. Dies ist normalerweise ein iterativer Vorgang.

Tipp

Beim Entwickeln oder Umgestalten des Codes müssen Sie möglicherweise neue Artefakte mit dem Ebenendiagramm verknüpfen. Dies ist jedoch möglicherweise nicht erforderlich, wenn Ebenen z. B. vorhandene Namespaces darstellen und diesen Namespaces mit dem neuen Code lediglich weitere Elemente hinzugefügt werden.

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.

Einschließen von Ebenenvalidierung in den Buildvorgang

Schließen Sie Ebenenvalidierung in den standardmäßigen Buildprozess der Projektmappe ein, um sicherzustellen, dass zukünftige Änderungen im Code den Ebenendiagrammen entsprechen. Jedes Mal, wenn andere Teammitglieder die Projektmappe erstellen, werden Unterschiede zwischen den Abhängigkeiten im Code und dem Ebenendiagramm als Buildfehler gemeldet.

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.

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Ebenendiagrammen aus Artefakten

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

Konzepte

Ebenendiagramme: Referenz