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.
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.
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
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