Share via


Gewusst wie: Lesen eines UML-Modells im Programmcode

Sie können mit der UML-API ein UML-Modell und die zugehörigen Diagramme laden.

Lesen eines Modells im Programmcode

Verwenden Sie ModelingProject.LoadReadOnly(), um auf den Inhalt eines Modells zuzugreifen, ohne ihn in einem Visual Studio-Fenster anzuzeigen.

Beispiel:

using Microsoft.VisualStudio.Uml.Classes; 
               // for IElement
using Microsoft.VisualStudio.ArchitectureTools.Extensibility; 
               // for ModelingProject
using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml;
               // for IModelStore
... 
string projectPath = @"C:\MyProjectFolder\MyProject.modelproj";
using (IModelingProjectReader projectReader =
           ModelingProject.LoadReadOnly(projectPath))
{
   IModelStore store = projectReader.Store;
   foreach (IClass umlClass in store.AllInstances<IClass>())
   { 
       ...
   }
}

Wenn Sie die Formen in einem Diagramm lesen möchten, müssen Sie das Projekt und dann das Diagramm lesen.

Beispiel:

using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation; 
                             // for IDiagram
...
foreach (string diagramFile in projectReader. DiagramFileNames)
{ 
  IDiagram diagram = projectReader.LoadDiagram(diagramFile);
  foreach (IShape<IElement> shape 
         in diagram.GetChildShapes<IElement>())
  { ... }
}

Alternative Methoden

Bei vielen Anwendungen bietet Visual Studio-Modelbus bietet mehr Stabilität und Flexibilität für Verweise auf Modelle und die darin enthaltenen Elemente als die in diesem Thema beschriebenen Methoden. Diese Funktion stellt eine Standardmethode zum Erstellen von Links zwischen beliebigen Elementen im gleichen oder in unterschiedlichen Modellen bereit. Weitere Informationen finden Sie unter Gewusst wie: Integrieren von UML-Modellen in andere Modelle und Tools.

Modelle und Diagramme können auch mithilfe der Visual Studio-API in der Benutzeroberfläche geöffnet werden. Weitere Informationen finden Sie unter Gewusst wie: Öffnen eines UML-Modells mit der Visual Studio-API.

Eigenständige Anwendungen

Das Beispiel im vorhergehenden Abschnitt funktioniert in Visual Studio-Erweiterungen. Es ist möglich, ein Modell in einer eigenständigen Anwendung zu lesen, Sie müssen jedoch einige Verweise auf das Visual Studio-Projekt hinzufügen.

Tipp

Die Details im Zusammenhang mit dem Lesen von Modellen in eigenständigen Anwendungen werden sich in zukünftigen Versionen des Produkts voraussichtlich ändern. Einige Funktionen der aktuellen Version sind in zukünftigen Versionen möglicherweise nicht mehr verfügbar.

So fügen Sie Verweise hinzu, um ein Modell in einer eigenständigen Anwendung zu lesen

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, in der Sie die Anwendung erstellen, und klicken Sie dann auf Eigenschaften. Legen Sie im Eigenschaften-Editor auf der Registerkarte Anwendung die Eigenschaft Zielframework auf .NET Framework 4 fest.

  2. Fügen Sie die .NET-Verweise hinzu, die Sie für den Zugriff auf UML-Modelle benötigen. In der Regel sind dies die folgenden Verweise:

    • Microsoft.VisualStudio.Uml.Interfaces.dll

    • Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll

  3. Fügen Sie zusätzlich zu den in den vorhergehenden Abschnitten aufgeführten Verweisen die folgenden Projektverweise aus \Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies hinzu:

    • Microsoft.VisualStudio.Uml.dll

    • Microsoft.VisualStudio.TeamArchitect.ModelStore.Dsl.dll

    Wenn Sie Diagramme in der Anwendung lesen möchten, benötigen Sie möglicherweise auch die folgenden Verweise:

    • Microsoft.VisualStudio.TeamArchitect.ActivityDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.ComponentDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.LogicalClassDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.SequenceDesigner.Dsl.dll

    • Microsoft.VisualStudio.TeamArchitect.UseCase.Dsl.dll

Siehe auch

Weitere Ressourcen

Programmieren mit der UML-API

Erweitern von UML-Modellen und Diagrammen