Como ler um modelo UML no código do programa
Você pode carregar um modelo UML e seus diagramas usando a API UML.
Lendo um modelo no código do programa
Para acessar o conteúdo de um modelo sem mostrá-lo em uma janela do Visual Studio, use ModelingProject.LoadReadOnly().
Por exemplo:
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>())
{
...
}
}
Se você desejar ler as formas em um diagrama, você deve ler o projeto e o diagrama.
Por exemplo:
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 muitos aplicativos, o Visual Studio Modelbus permite a você referenciar modelos e elementos dentro deles, com maior robustez e flexibilidade do que com os métodos descritos neste tópico. Fornece um método padrão para criação de links entre elementos arbitrários, no mesmo ou em modelos diferentes. Para obter mais informações, consulte Como integrar modelos UML a outros modelos e ferramentas.
Você também pode abrir modelos e diagramas na interface do usuário usando a API Visual Studio. Para obter mais informações, consulte Como abrir um modelo UML usando a API do Visual Studio.
Aplicativos autônomos
O exemplo na seção anterior funcionará em extensões do Visual Studio. É possível ler um modelo em um aplicativo autônomo, mas você deve adicionar algumas referências ao seu projeto do Visual Studio.
Dica
Os detalhes de como ler um modelo em um aplicativo autônomo poderão ser alterados em versões futuras do produto.Alguns recursos que são acessíveis na versão atual podem não estar disponíveis nas versões futuras.
Para adicionar referências para ler um modelo em um aplicativo autônomo.
No Gerenciador de Soluções, clique com o botão direito no projeto no qual você está compilando o aplicativo e, em seguida, clique em Propriedades. No editor de propriedades, na guia Aplicativo, defina Estrutura de Destino como .NET Framework 4.
Adicione referências de .NET necessárias para acessar os modelos de UML, normalmente:
Microsoft.VisualStudio.Uml.Interfaces.dll
Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll
Além das referências listadas nas seções anteriores, adicione as seguintes referências de projeto de \Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies:
Microsoft.VisualStudio.Uml.dll
Microsoft.VisualStudio.TeamArchitect.ModelStore.Dsl.dll
Se você desejar ler diagramas em seu aplicativo, você também pode exigir essas referências:
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