Compartir a través de


Cómo: Leer un modelo UML en el código del programa

Puede cargar un modelo UML y sus diagramas usando la API de UML.

Leer un modelo en el código del programa

Para tener acceso al contenido de un modelo sin mostrarlo en una ventana de Visual Studio, utilice ModelingProject.LoadReadOnly().

Por ejemplo:

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>())
   { 
       ...
   }
}

Si desea leer las formas de un diagrama, debe leer el proyecto y, a continuación, el diagrama.

Por ejemplo:

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>())
  { ... }
}

Métodos alternativos

Para muchas aplicaciones, Modelbus de Visual Studio le permite hacer referencia a los modelos y elementos que estas incluyen, con mayor solidez y flexibilidad que con los métodos descritos en este tema.Proporciona un método estándar para realizar vínculos entre elementos arbitrarios, en los mismos modelos o en otros diferentes.Para obtener más información, vea Cómo: Integrar modelos UML con otros modelos y herramientas.

También puede abrir modelos y diagramas en la interfaz de usuario mediante la API de Visual Studio.Para obtener más información, vea Cómo: Abrir un modelo UML mediante la API de Visual Studio.

Aplicaciones independientes

El ejemplo de la sección anterior funcionará en las extensiones de Visual Studio.Es posible leer un modelo en una aplicación independiente, pero debe agregar algunas referencias al proyecto de Visual Studio.

[!NOTA]

Es probable que los detalles sobre cómo leer un modelo en una aplicación independiente cambien en versiones futuras del producto.Algunas características que son accesibles en la versión actual podrían no estar disponibles en versiones futuras.

Para agregar referencias para leer un modelo en una aplicación independiente.

  1. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto en el que compile la aplicación y, a continuación, haga clic en Propiedades.En el editor de propiedades, en la pestaña Aplicación, establezca Versión de .NET Framework de destino en .NET Framework 4.

  2. Agregue las referencias de .NET que necesita para tener acceso a los modelos UML, normalmente:

    • Microsoft.VisualStudio.Uml.Interfaces.dll

    • Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll

  3. Además de las referencias enumeradas en las secciones anteriores, agregue las siguientes referencias de proyecto desde \Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies:

    • Microsoft.VisualStudio.Uml.dll

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

    Si desea leer diagramas en la aplicación, también podría necesitar estas referencias:

    • 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

Vea también

Conceptos

Programar con la API de UML

Ampliar modelos y diagramas UML