Практическое руководство. Чтение модели UML в программном коде
Можно загрузить модель UML и ее схемы, используя UML API.
Чтение модели в программном коде
Чтобы получить доступ к содержимому модели, не отображая ее в окне Visual Studio, нужно воспользоваться ModelingProject.LoadReadOnly().
Примеры.
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>())
{
...
}
}
Если нужно прочитать фигуры на схеме, необходимо сначала прочитать проект, а затем схему.
Примеры.
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>())
{ ... }
}
Альтернативные методы
Шина модели Visual Studio позволяет ссылаться на модели и элементы внутри этих моделей во многих приложениях, обеспечивая большую надежность и гибкость, чем при использовании описанных в этом разделе методов.Шина предоставляет стандартный метод создания ссылок между произвольными элементами в одной модели или разных моделях.Дополнительные сведения см. в разделе Практическое руководство. Интеграция моделей UML с другими моделями и средствами.
Кроме того, воспользовавшись API-интерфейсом Visual Studio можно открывать модели и схемы в пользовательском интерфейсе.Дополнительные сведения см. в разделе Практическое руководство. Открытие модели UML с помощью API Visual Studio.
Автономные приложения
Пример из предыдущего подраздела можно выполнить в расширениях Visual Studio.Можно прочитать модель в отдельном приложении, однако необходимо добавить несколько ссылок на проект Visual Studio.
Примечание |
---|
Вероятно, способы прочтения модели в отдельном приложении будут изменены в последующих выпусках продукта.Некоторые функции, доступные в текущей версии, могут оказаться недоступными в последующих выпусках. |
Добавление ссылок для прочтения модели в отдельном приложении
В обозревателе решений щелкните правой кнопкой мыши проект, в котором выполняется построение приложения, и щелкните Свойства.В редакторе свойств на вкладке Приложение задайте для параметра Требуемая версия .NET Framework значение .NET Framework 4.
Добавьте ссылки .NET, необходимые для осуществления доступа к моделям UML, например:
Microsoft.VisualStudio.Uml.Interfaces.dll
Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll
Помимо ссылок, перечисленных в предыдущих подразделах, нужно добавить следующие ссылки проектов из папки \Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies.
Microsoft.VisualStudio.Uml.dll
Microsoft.VisualStudio.TeamArchitect.ModelStore.Dsl.dll
Если нужно обеспечить возможность прочтения схем в приложении, потребуются также следующие ссылки.
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