방법: 프로그램 코드에서 UML 모델 읽기
UML API를 사용하여 UML 모델 및 다이어그램을 로드할 수 있습니다.
프로그램 코드에서 모델 읽기
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 Modelbus를 사용하여 이 항목에 설명된 방법을 사용할 때보다 더 강력하고 유연하게 모델과 모델 내의 요소를 참조할 수 있습니다. Modelbus는 동일한 모델이나 서로 다른 모델에 있는 임의 요소 간에 링크를 만드는 표준 방법을 제공합니다. 자세한 내용은 방법: UML 모델을 다른 모델 및 도구와 통합을 참조하십시오.
Visual Studio API를 사용하여 사용자 인터페이스에서 모델과 다이어그램을 열 수도 있습니다. 자세한 내용은 방법: Visual Studio API를 사용하여 UML 모델 열기를 참조하십시오.
독립 실행형 응용 프로그램
이전 단원의 예제는 Visual Studio 확장에서 작동합니다. 독립 실행형 응용 프로그램에서 모델을 읽을 수도 있지만 그러려면 Visual Studio 프로젝트에 몇 가지 참조를 추가해야 합니다.
참고
독립 실행형 응용 프로그램에서 모델을 읽는 세부적인 방법은 이후 버전의 제품에서 변경될 수 있습니다. 현재 버전에서 사용할 수 있는 일부 기능이 이후 버전에서는 사용할 수 없게 될 수도 있습니다.
독립 실행형 응용 프로그램에서 모델을 읽기 위한 참조를 추가하려면
솔루션 탐색기에서 빌드할 응용 프로그램이 있는 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 속성 편집기의 응용 프로그램 탭에서 대상 프레임워크를 .NET Framework 4로 설정합니다.
UML 모델에 액세스하는 데 필요한 .NET 참조를 추가합니다. 이러한 참조로는 일반적으로 다음이 포함됩니다.
Microsoft.VisualStudio.Uml.Interfaces.dll
Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll
이전 단원에 나열된 참조 외에도 \Program Files\Microsoft Visual Studio 10.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