DSL 간에 클래스 공유
Visual Studio Visualization and Modeling SDK에서, 다른 DSL로 가져올 수 있는 불완전한 DSL 정의를 만들 수 있습니다. 이렇게 하여 유사한 모델의 공통 요소를 팩터링할 수 있습니다.
참고 항목
텍스트 템플릿 변환 구성 요소는 Visual Studio 확장 개발 워크로드의 일부로 자동으로 설치됩니다. Visual Studio 설치 프로그램의 개별 구성 요소 탭, SDK, 라이브러리, 프레임워크 범주 아래에서 설치할 수도 있습니다. 개별 구성 요소 탭에서 Modeling SDK 구성 요소를 설치합니다.
DSL 프로젝트 만들기
새 DSL 프로젝트를 만들고 DSL 라이브러리 솔루션 템플릿을 선택합니다.
빈 모델을 사용하여 단일 DSL 프로젝트가 생성됩니다.
도메인 클래스, 관계, 셰이프 등을 추가할 수 있습니다. 라이브러리의 요소는 단일 포함 트리를 구성할 필요가 없습니다. 가져오기에서 사용할 수 있는 관계를 정의하려면 두 개의 도메인 클래스를 만들고 두 개의 도메인 간에 관계를 만듭니다.
기본 클래스의 상속 한정자를
Abstract
로 설정할 수 있습니다.DSL 탐색기에서 정의하는 요소(예: 연결 작성기)를 추가할 수 있습니다.
유효성 검사 제약 조건과 같이 추가 코드가 필요한 사용자 지정 항목을 추가할 수 있습니다.
모든 템플릿 변환을 선택합니다.
프로젝트를 빌드합니다.
다른 사용자가 사용할 수 있도록 DSL을 배포하는 경우 컴파일된 어셈블리(DLL)와 파일 DslDefinition.dsl을 모두 제공해야 합니다. Dsl\bin* 아래 폴더에서 컴파일된 어셈블리를 찾을 수 있습니다.
DSL 라이브러리 가져오기
다른 DSL 정의의 DSL 탐색기에서 DSL의 루트 클래스를 마우스 오른쪽 단추로 클릭한 다음, 새 DslLibrary 가져오기 추가를 선택합니다.
속성 창에서 라이브러리의 파일 경로를 설정합니다. 상대 경로 또는 절대 경로 중 하나를 사용할 수 있습니다.
가져온 라이브러리는 DSL 탐색기에서 읽기 전용 모드로 표시됩니다.
가져온 클래스를 기본 클래스로 사용할 수 있습니다. 가져오기 DSL에서 도메인 클래스를 만들고, 속성 창에서 기본 클래스를 가져온 클래스로 설정합니다.
모든 템플릿 변환을 선택합니다.
DSL 라이브러리 프로젝트에서 빌드한 어셈블리(DLL)에 대한 참조를 DSL 프로젝트에 추가합니다.
솔루션을 빌드합니다.