도메인 특정 언어 시작
이 토픽에서는 Visual Studio용 Modeling SDK를 이용해 만든 DSL(도메인 특정 언어) 정의 및 사용에 관한 기본 개념을 설명합니다.
참고 항목
텍스트 템플릿 변환 SDK 및 Visual Studio Modeling SDK는 Visual Studio의 특정 기능을 설치할 때 자동으로 설치됩니다. 자세한 내용은 이 이 블로그 게시물 을 참조하십시오.
DSL을 처음 사용한다면 Visualization and Modeling SDK 사이트에서 제공하는 DSL 도구 랩을 실습하는 것이 좋습니다.
도메인 특정 언어로 할 수 있는 일
도메인 특정 언어는 대부분 그래픽 형식인 표기법으로, 특정 용도로 사용하도록 설계됩니다. 반대로 UML 같은 언어는 범용입니다. DSL에서는 모델 요소의 유형 및 관계와, 이러한 요소가 화면에 표시되는 방식을 정의할 수 있습니다.
DSL을 설계했다면 이를 VSIX(Visual Studio Integration Extension) 패키지의 일부로 배포할 수 있습니다. 사용자는 Visual Studio에서 DSL을 사용합니다.
표기법은 DSL의 일부일 뿐입니다. VSIX 패키지에는 표기법 외에 사용자가 적용하면 모델에서 재질을 편집하고 생성할 수 있는 도구도 제공합니다.
DSL의 주요 적용 분야는 프로그램 코드, 구성 파일 및 기타 아티팩트 생성입니다. 특히 제품의 다양한 변형이 생성되는 대형 프로젝트와 제품 라인에서 DSL의 다양한 변수 요소를 생성하면 안정성이 대폭 증가하고 요구 사항 변화에 아주 빠르게 대응할 수 있습니다.
이 개요의 나머지 부분에서는 Visual Studio에서의 도메인 특정 언어 생성 및 사용과 관련한 기본 작업을 연습합니다.
필수 조건
DSL을 정의하려면 다음 구성 요소를 설치해야 합니다.
구성 요소 | 링크 |
---|---|
Visual Studio | http://go.microsoft.com/fwlink/?LinkId=185579 |
Visual Studio SDK | https://go.microsoft.com/fwlink/?linkid=2166172 |
Visual Studio용 Modeling SDK |
참고 항목
텍스트 템플릿 변환 구성 요소는 Visual Studio 확장 개발 워크로드의 일부로 자동으로 설치됩니다. Visual Studio 설치 프로그램의 개별 구성 요소 탭, SDK, 라이브러리, 프레임워크 범주 아래에서 설치할 수도 있습니다. 개별 구성 요소 탭에서 Modeling SDK 구성 요소를 설치합니다.
DSL 솔루션 만들기
새 DSL(도메인 특정 언어)을 만들려면 DSL 프로젝트 템플릿을 사용하여 새 Visual Studio 솔루션을 만듭니다.
파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.
프로젝트 유형에서 기타 프로젝트 형식 노드를 확장하고 확장성을 클릭합니다.
도메인 특정 언어 디자이너를 클릭합니다.
이름 상자에 FamilyTree를 입력합니다. 확인을 클릭합니다.
DSL(도메인 특정 언어) 마법사가 열리고 템플릿 DSL 솔루션 목록이 표시됩니다.
각 템플릿을 클릭하여 설명을 확인합니다.
템플릿은 유용한 시작 지점입니다. 각 템플릿은 사용자의 필요에 맞게 편집할 수 있는 완전한 실제 DSL을 제공합니다. 대부분의 경우 만들어야 할 항목과 가장 가까운 템플릿을 선택합니다.
이 연습에서는 최소 언어 템플릿을 선택합니다.
해당하는 마법사 페이지에서 DSL의 파일 이름 확장명을 입력합니다. 이 확장명은 DSL의 인스턴스가 포함된 파일에 사용됩니다.
현재 사용 중인 컴퓨터 또는 DSL을 설치할 컴퓨터의 애플리케이션과 연결되지 않은 확장명을 선택합니다. 예를 들어 docx 및 htm은 파일 이름 확장명으로 사용할 수 없습니다.
입력한 확장명이 DSL로 사용되고 있으면 경고가 표시됩니다. 이 경우 다른 파일 이름 확장명을 사용해야 합니다. Visual Studio SDK 실험적 인스턴스를 다시 설정하여 오래된 실험적 디자이너를 지울 수도 있습니다. Windows 시작 메뉴에서 Visual Studio 재설정을 입력한 다음, 버전 Visual Studio와 일치하는 Microsoft Visual Studio 실험 인스턴스 재설정 명령을 실행합니다.
다른 페이지를 검사한 다음 마침을 클릭합니다.
프로젝트가 두 개가 포함된 솔루션이 생성됩니다. 두 프로젝트에는 Dsl과 DslPackage라는 이름이 지정됩니다. 이름이 DslDefinition.dsl인 다이어그램 파일이 열립니다.
참고 항목
두 프로젝트의 폴더에서 볼 수 있는 대부분의 코드는 DslDefinition.dsl에서 생성됩니다. 따라서 DSL에 대한 대부분의 수정은 이 파일에서 실행됩니다.
이제 사용자 인터페이스는 다음 그림과 같이 표시됩니다.
이 솔루션은 DSL을 정의합니다. 자세한 내용은 도메인 특정 언어 도구 사용자 인터페이스 개요를 참조하세요.
DSL 솔루션의 중요한 부분
새 솔루션의 다음 측면을 확인하세요.
Dsl\DslDefinition.dsl DSL 솔루션을 만들 때 표시되는 파일입니다. 솔루션에 있는 거의 모든 코드는 이 파일에서 생성되며, DSL 정의에 대한 대부분의 변경은 여기에서 실행됩니다. 자세한 내용은 DSL 정의 다이어그램 작업을 참조하세요.
Dsl 프로젝트 이 프로젝트에는 도메인 특정 언어를 정의하는 코드가 포함되어 있습니다.
DslPackage 프로젝트 이 프로젝트에는 Visual Studio에서 DSL 인스턴스를 열고 편집할 수 있는 코드가 포함되어 있습니다.
DSL 실행
DSL 솔루션은 만든 직후 바로 실행할 수 있습니다. 나중에 DSL 정의를 조금씩 수정하여, 변경될 때마다 솔루션을 다시 실행할 수 있습니다.
DSL을 시험해 보려면
솔루션 탐색기 도구 모음에서 모든 템플릿 변환을 클릭합니다. DslDefinition.dsl의 소스 코드 대부분이 다시 생성됩니다.
참고 항목
DslDefinition.dsl을 변경했다면, 항상 모든 템플릿 변환을 클릭한 다음 솔루션을 다시 빌드해야 합니다. 이 단계는 자동화할 수 있습니다. 자세한 내용은 모든 템플릿 변환을 자동화하는 방법을 참조하세요.
F5키를 누르거나, 디버그 메뉴에서 디버깅 시작을 클릭합니다.
DSL이 Visual Studio 실험적 인스턴스에서 빌드되고 설치됩니다.
Visual Studio 실험적 인스턴스가 시작됩니다. 실험적 인스턴스는 디버깅을 위해 Visual Studio 확장이 등록되는 곳인, 레지스트리의 개별 하위 트리에서 설정을 가져옵니다. Visual Studio의 일반 인스턴스는 인스턴스에 등록된 확장에 액세스할 수 없습니다.
Visual Studio 실험적 인스턴스의 솔루션 탐색기에서 Test라는 모델 파일을 엽니다.
- 또는 -
디버깅 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 항목을 클릭합니다. 항목 추가 대화 상자에서 DSL의 파일 형식을 선택합니다.
모델 파일이 빈 다이어그램으로 열립니다.
도구 상자가 열리고 다이어그램 형식에 맞는 도구가 표시됩니다.
도구를 사용하여 다이어그램에 도형과 커넥터를 만듭니다.
도형을 만들려면 예제 도형 도구에서 도구를 다이어그램으로 끌어 옵니다.
두 도형을 연결하려면 예제 커넥터 도구를 클릭하고 첫 번째 도형을 클릭한 다음 두 번째 도형을 클릭합니다.
도형의 레이블을 클릭하여 레이블을 변경합니다.
실험적 Visual Studio은 다음 예제와 비슷하게 표시됩니다.
모델의 콘텐츠
DSL의 인스턴스인 파일의 콘텐츠를 모델이라고 합니다. 모델에는 모델 요소와 요소 간의 링크가 포함됩니다. DSL 정의는 모델에 존재하는 모델 요소 및 링크의 유형을 지정합니다. 예를 들어 최소 언어 템플릿에서 만든 DSL에는 모델 요소 형식 하나와 링크 형식 하나가 있습니다.
DSL 정의는 다이어그램에 모델을 표시하는 방법을 지정할 수 있습니다. 다양한 도형 및 커넥터 스타일을 선택할 수 있습니다. 일부 도형을 다른 도형 안에 나타나도록 지정할 수 있습니다.
모델을 편집하는 동안 탐색기 보기에서 모델을 트리 형태로 볼 수 있습니다. 다이어그램에 도형을 추가하면 모델 요소도 탐색기에 표시됩니다. 다이어그램이 없어도 탐색기를 사용할 수 있습니다.
Visual Studio 디버깅 인스턴스에서 탐색기가 보이지 않는 경우, 보기 메뉴에서 기타 창을 가리킨 후, <언어> 탐색기를 클릭하세요.
DSL의 API
DSL은 DSL의 인스턴스인 모델을 읽고 업데이트하는 데 사용할 수 있는 API를 생성합니다. API의 대표적인 적용 분야는 모델에서 텍스트 파일을 생성하는 것입니다. 자세한 내용은 T4 텍스트 템플릿을 사용하여 디자인 타임 코드 생성을 참조하세요.
디버깅 솔루션에서 확장명이 ".tt"인 템플릿 파일을 엽니다. 이러한 샘플은 모델에서 텍스트를 생성하는 방법을 보여주며, DSL의 API를 테스트하는 데 사용할 수 있습니다. 샘플 중 하나는 Visual Basic으로 작성되고 다른 하나는 Visual C#으로 작성됩니다.
각 템플릿에는 템플릿에서 생성하는 파일이 있습니다. 솔루션 탐색기에서 템플릿 파일을 확장하고, 생성된 파일을 엽니다.
템플릿 파일에는 모델의 모든 요소를 나열하는 짧은 코드 세그먼트가 포함되어 있습니다.
생성된 파일에는 결과가 포함되어 있습니다.
모델 파일을 변경했다면, 파일을 다시 생성해야 생성된 파일에 해당하는 변경 내용이 표시됩니다.
모델 파일을 변경한 후 텍스트 파일을 다시 생성하려면
Visual Studio의 실험적 인스턴스에서 모델 파일을 저장합니다.
각 .tt 파일의 파일 이름 매개 변수가 실험에 사용하는 모델 파일을 참조하는지 확인합니다. .tt 파일을 저장합니다.
솔루션 탐색기의 도구 모음에서 모든 템플릿 변환을 클릭합니다.
- 또는 -
다시 생성할 템플릿을 마우스 오른쪽 단추로 클릭한 다음 사용자 지정 도구 실행을 클릭합니다.
프로젝트에는 텍스트 템플릿 파일을 무제한으로 추가할 수 있습니다. 각 템플릿은 결과 파일 하나를 생성합니다.
참고 항목
DSL 정의를 변경했다면 샘플 텍스트 템플릿은 업데이트해야 정상적으로 작동합니다.
자세한 내용은 도메인 특정 언어에서 코드 생성과 도메인 특정 언어를 사용자 지정하는 코드 작성을 참조하세요.
DSL 사용자 지정
DSL 정의를 수정하려면 실험적 인스턴스를 닫고 주 Visual Studio 인스턴스에서 정의를 업데이트합니다.
참고 항목
DSL 정의를 수정하면 이전 버전을 사용하여 만든 테스트 모델의 정보가 손실될 수 있습니다. 예를 들어 디버깅 솔루션에는 몇 가지 도형과 커넥터가 포함된 Sample이라는 파일이 포함되어 있습니다. DSL 정의 개발을 시작하면 이러한 요소는 표시되지 않으며, 파일을 저장할 때 사라집니다.
DSL에는 다양한 확장명을 적용할 수 있습니다. 다음 예에서는 이러한 확장명을 확인할 수 있습니다.
변경할 때마다 DSL 정의를 저장하고, 솔루션 탐색기에서 모든 템플릿 변환을 클릭한 다음 F5를 눌러 변경한 DSL을 시험해야 합니다.
형식 및 도구 이름 바꾸기
기존 도메인 클래스와 관계의 이름을 바꿉니다. 예를 들어 최소 언어 템플릿으로 만든 Dsl Definition에서는 다음 이름 변경 작업을 수행하여 DSL이 패밀리 트리를 나타내게 할 수 있습니다.
도메인 클래스, 관계 및 도구의 이름을 바꾸려면
DslDefinition 다이어그램에서 ExampleModel을 FamilyTreeModel로, ExampleElement를 Person으로, Targets를 Parents로, Sources를 Children으로 바꿉니다. 각 레이블을 클릭하면 변경할 수 있습니다.
요소 및 커넥터 도구의 이름을 바꿉니다.
솔루션 탐색기에 있는 탭을 클릭하여 DSL 탐색기 창을 엽니다. 창이 표시되지 않으면 보기 메뉴에서 다른 창을 가리키고 DSL 탐색기를 클릭합니다. DSL 탐색기는 DSL 정의 다이어그램이 활성 창인 경우에만 표시됩니다.
속성 창을 열고 DSL 탐색기와 속성을 동시에 볼 수 있도록 배치합니다.
DSL 탐색기에서 편집기, 도구 상자 탭, <DSL>, 도구를 확장합니다.
ExampleElement를 클릭합니다. 요소를 만들 때 사용하는 도구 상자 항목입니다.
속성 창에서 Name 속성을 Person으로 변경합니다.
Caption 속성도 변경됩니다.
동일한 방식으로 ExampleConnector 도구의 이름을 ParentLink로 변경 합니다. Name 속성의 복사본이 되지 않도록 Caption 속성을 변경합니다. 예를 들어 Parent Link를 입력합니다.
DSL을 다시 빌드합니다.
DSL 정의 파일을 저장합니다.
솔루션 탐색기의 도구 모음에서 모든 템플릿 변환을 클릭합니다.
F5 키를 누릅니다. Visual Studio의 실험적 인스턴스가 표시될 때까지 기다립니다.
Visual Studio 실험적 인스턴스의 디버깅 솔루션에서 테스트 모델 파일을 엽니다. 도구 상자에서 요소를 끌어 옵니다. DSL 탐색기의 도구 캡션과 형식 이름이 변경됩니다.
모델 파일을 저장합니다.
.tt 파일을 열고 이전 형식 및 속성 이름의 발생 항목을 새 이름으로 바꿉니다.
.tt 파일에 지정된 파일 이름이 테스트 모델을 지정하는지 확인합니다.
.tt 파일을 저장합니다. 생성된 파일을 열어 .tt 파일에서 코드를 실행한 결과를 확인합니다. 파일이 올바른지 확인합니다.
클래스에 도메인 속성 추가
도메인 클래스에 속성(예: Person의 출생 연도와 죽음을 나타내는 속성)을 추가 합니다.
다이어그램에 새 속성을 표시하려면 모델 요소를 표시하는 도형에 데코레이터를 추가해야 합니다. 그리고 속성을 데코레이터에 매핑해야 합니다.
속성을 추가하고 표시하려면
속성을 추가합니다.
DSL 정의 다이어그램에서 Person 도메인 클래스를 마우스 오른쪽 단추로 클릭하고, 추가를 가리킨 다음 도메인 속성을 클릭합니다.
생년월일이나 사망 같은 새 속성 이름 목록을 입력합니다. 각 목록을 입력한 후에는 Enter를 누릅니다.
도형에 속성을 표시하는 데코레이터를 추가합니다.
Person 도메인 클래스에서 다이어그램의 반대쪽으로 이어지는 회색 줄을 따라갑니다. 이것이 다이어그램 요소 맵입니다. 도메인 클래스를 도형 클래스에 연결하는 역할을 합니다.
도형 클래스 헤더를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 텍스트 데코레이터를 클릭합니다.
BirthDecorator 및 DeathDecorator 같은 이름을 사용하는 데코레이터 두 개를 추가합니다.
각각의 새 데코레이터를 선택하고, 속성 창에서 위치 필드를 설정합니다. 이 필드는 도형에 도메인 속성 값이 표시되는 위치를 결정합니다. 예를 들어 InnerBottomLeft와 InnerBottomRight를 설정합니다.
데코레이터를 속성에 매핑합니다.
DSL 정보 창을 엽니다. 대부분 출력 창 옆에 있는 탭에 있습니다. 창이 표시되지 않으면 보기 메뉴에서 다른 창을 가리키고 DSL 정보를 클릭합니다.
DSL 정의 다이어그램에서 Person 도메인 클래스를 도형 클래스에 연결하는 선을 클릭합니다.
DSL 세부 정보의 데코레이터 맵 탭에서 매핑되지 않은 데코레이터의 확인란을 클릭합니다. 표시 속성에서 매핑할 도메인 속성을 선택합니다. 예를 들어 BirthDecorator를 Birth에 매핑합니다.
DSL을 저장하고 [모든 템플릿 변환]을 클릭한 다음 F5를 누릅니다.
샘플 모델 다이어그램에서 선택한 위치를 클릭하고 값을 입력할 수 있는지 확인합니다. 또한 Person 도형을 선택하면 속성 창에 Birth와 Death라는 새 속성이 표시됩니다.
.tt 파일에서는 각 사람의 속성을 가져오는 코드를 추가할 수 있습니다.
새 클래스 정의
도메인 클래스와 관계를 모델에 추가할 수 있습니다. 예를 들어 도시를 나타내는 새 클래스를 만들고, 사람이 도시에 거주했음을 나타내는 새 관계를 만들 수 있습니다.
모델 다이어그램에서 다양한 형식을 명확하게 구분하여 표시하려면, 도메인 클래스를 유형이 다르거나 기하학적 형상과 색상이 다른 도형에 매핑해야 합니다.
새 도메인 클래스를 추가하고 표시하려면
도메인 클래스를 추가하고 모델 루트의 자식으로 만듭니다.
DSL 정의 다이어그램에서 포함 관계 도구와 루트 클래스 FamilyTreeModel을 차례로 클릭한 다음 다이어그램의 빈 부분을 클릭합니다.
포함 관계가 있는 FamilyTreeModel에 연결된 새 도메인 클래스가 표시됩니다.
이름을 설정합니다(예: Town).
참고 항목
모델의 루트를 제외한 모든 도메인 클래스는 하나 이상의 포함 관계의 대상이거나 포함 관계의 대상인 클래스에서 상속해야 합니다. 따라서 대부분의 경우 포함 관계 도구를 사용하면 도메인 클래스를 쉽게 만들 수 있습니다.
새 클래스에 도메인 속성을 추가합니다(예: Name).
Person과 Town 간의 참조 관계를 추가합니다.
참조 관계 도구를 클릭하고 Person을 클릭한 다음 Town을 클릭합니다.
참고 항목
참조 관계는 모델 트리의 한 부분에서 다른 부분 사이의 상호 참조를 나타냅니다.
모델 다이어그램에서 도시를 나타내는 도형을 추가합니다.
도구 상자의 기하 도형을 다이어그램으로 끌어온 다음 이름을 바꿉니다(예: TownShape).
속성 창에서 채우기 색이나 기하 도형 같은 새 도형의 모양 필드를 설정합니다.
데코레이터를 추가하여 도시의 이름을 표시하고 이름을 NameDecorator로 바꿉니다. 위치 속성을 설정합니다.
Town 도메인 클래스를 TownShape에 매핑합니다.
다이어그램 요소 맵 도구, Town 도메인 클래스와 TownShape 도형 클래스를 차례로 클릭합니다.
맵 커넥터가 선택된 DSL 정보 창의 데코레이터 맵에서 NameDecorator를 확인하고 표시 속성을 Name으로 설정합니다.
커넥터를 만들어 Person과 Town 간의 관계를 표시합니다.
커넥터를 도구 상자에서 다이어그램으로 끌어 옵니다. 이름을 바꾸고 모양 속성을 설정합니다.
다이어그램 요소 맵 도구를 사용하여 새 커넥터를 Person과 Town 간의 관계에 연결합니다.
새 Town을 만들기 위한 요소 도구를 만듭니다.
DSL 탐색기에서 편집기와 도구 상자 탭을 차례로 확장합니다.
<DSL>을 마우스 오른쪽 단추로 클릭한 다음, 새 요소 도구 추가를 클릭합니다.
새 도구의 이름 속성을 설정하고 클래스 속성을 Town으로 설정합니다.
도구 상자 아이콘 속성을 설정합니다. [...]을 클릭하고 파일 이름 필드에서 아이콘 파일을 선택합니다.
도시와 사람 간에 링크를 만들기 위한 연결선 도구를 만듭니다.
<DSL>을 마우스 오른쪽 단추로 클릭한 다음, 새 커넥터 도구 추가를 클릭합니다.
새 도구의 이름 속성을 설정합니다.
ConnectionBuilder 속성에서 Person-Town 관계의 이름을 포함하는 작성기를 선택합니다.
도구 상자 아이콘을 설정합니다.
DSL 정의를 저장하고 모든 템플릿 변환을 클릭한 다음 F5를 누릅니다.
Visual Studio의 실험적 인스턴스에서 테스트 모델 파일을 엽니다. 새 도구를 사용하여 도시와 도시-사람 간의 링크를 만듭니다. 올바른 요소 형식 간의 링크만 만들 수 있습니다.
각 사람이 거주하는 도시를 나열하는 코드를 만듭니다. 텍스트 템플릿은 이러한 코드를 실행할 수 있는 대표적인 곳입니다. 예를 들어 디버깅 솔루션에서 기존 Sample.tt 파일을 수정하여 다음 코드를 포함하게 할 수 있습니다.
<#@ template inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation" debug="true" #> <#@ output extension=".txt" #> <#@ FamilyTree processor="FamilyTreeDirectiveProcessor" requires="fileName='Sample.ftree'" #> <# foreach (Person person in this.FamilyTreeModel.People) { #> <#= person.Name #><#if (person.Town != null) {#> of <#= person.Town.Name #> <#}#> <# foreach (Person child in person.Children) { #> <#= child.Name #> <# } } #>
*.tt 파일을 저장하면 사람과 사람의 거주지 목록이 포함된 보조 파일이 생성됩니다. 자세한 내용은 도메인 특정 언어에서 코드 생성을 참조하세요.
유효성 검사 및 명령
유효성 검사 제약 조건을 추가하여 이 DSL을 추가로 개발할 수 있습니다. 이러한 제약 조건은 모델이 올바른 상태인지 확인하기 위해 정의할 수 있는 메서드입니다. 예를 들어 자식 요소의 생일이 부모 요소의 생일보다 늦은지를 확인하는 제약 조건을 정의할 수 있습니다. DSL 사용자가 제약 조건을 위반하는 모델을 저장하려고 하면 유효성 검사 기능에서 경고를 표시합니다. 자세한 내용은 도메인 특정 언어의 유효성 검사를 참조하세요.
사용자가 호출할 수 있는 메뉴 명령을 정의할 수도 있습니다. 명령은 모델을 수정할 수 있습니다. 또한 Visual Studio에 있는 다른 모델과 외부 리소스를 사용하여 다른 모델과 상호 작용할 수도 있습니다. 자세한 내용은 방법: 표준 메뉴 명령 수정을 참조하세요.
DSL 배포
다른 사용자가 도메인 특정 언어를 사용할 수 있게 하려면 VSIX(Visual Studio Extension) 파일을 배포해야 합니다. 이 파일은 DSL 솔루션을 빌드할 때 생성됩니다.
솔루션의 bin 폴더에서 .vsix 파일을 찾습니다. 파일을 설치할 컴퓨터에 파일을 복사합니다. 컴퓨터에서 VSIX 파일을 두 번 클릭합니다. DSL은 이 컴퓨터에 있는 Visual Studio의 모든 인스턴스에서 사용할 수 있습니다.
동일한 절차를 사용하여 자체 컴퓨터에 DSL을 설치하면 Visual Studio 실험적 인스턴스를 사용하지 않아도 됩니다.
자세한 내용은 도메인 특정 언어 솔루션 배포를 참조하세요.
기존 실험적 DSL 제거
필요 없는 실험적 DSL을 만들었다면, Visual Studio 실험적 인스턴스를 다시 설정하여 컴퓨터에서 제거할 수 있습니다.
이렇게 하면 모든 실험적 DSL과 기타 실험적 Visual Studio 확장이 컴퓨터에서 제거됩니다. 이러한 확장은 디버깅 모드에서 실행된 확장입니다.
이 절차는 VSIX 파일을 실행하여 완전하게 설치된 DSL 또는 기타 Visual Studio 확장을 제거하지는 않습니다.
Visual Studio 실험적 인스턴스를 다시 설정하려면
Windows 시작 메뉴에서 Visual Studio 재설정을 입력한 다음, 버전 Visual Studio와 일치하는 Microsoft Visual Studio 실험 인스턴스 재설정 명령을 실행합니다.
계속 사용할 실험적 DSL이나 다른 실험적 Visual Studio 확장을 다시 빌드합니다.