레이어 다이어그램: 지침
Visual Studio Ultimate에서는 레이어 다이어그램을 사용하여 상위 수준에서 응용 프로그램의 구조를 기술하고 코드가 고급 디자인을 따르는지 확인할 수 있습니다. 코드가 디자인과 일관성 있게 유지되도록 빌드 프로세스의 일부로 레이어 유효성 검사를 포함할 수 있습니다.
일반적인 아키텍처 다이어그램과 마찬가지로 레이어 다이어그램은 디자인의 주요 구성 요소 또는 기능 단위와 상호 종속성을 식별합니다. 다이어그램의 각 노드, 즉 레이어는 네임스페이스, 프로젝트 또는 기타 아티팩트의 논리 그룹을 나타냅니다. 디자인에 있어야 하는 종속성을 그릴 수 있습니다. 일반적인 아키텍처 다이어그램과 달리 소스 코드의 실제 종속성이 계획된 종속성과 일치하는지 확인할 수 있습니다. Team Foundation Server에서 정규 빌드의 유효성 검사 부분을 만들면 이후 변경되는 동안에도 프로그램 코드가 시스템 아키텍처를 준수하도록 할 수 있습니다.
레이어 다이어그램 요소와 해당 속성에 대한 자세한 내용은 레이어 다이어그램: 참조를 참조하십시오.
레이어 다이어그램을 사용하여 응용 프로그램을 디자인하거나 업데이트하는 방법
다음 단계에서는 개발 프로세스 내에서 레이어 다이어그램을 사용하는 방법에 대해 간략히 설명합니다. 각 단계에 대한 자세한 내용은 이 항목의 이후 단원에서 설명합니다. 새 디자인을 개발하는 경우에는 기존 코드를 참조하는 단계를 생략하십시오.
참고
이러한 단계는 대략적인 순서로 제시되어 있습니다. 따라서 상황에 맞게 작업을 중복 수행하거나 순서를 변경하고, 프로젝트의 각 반복을 시작할 때마다 작업을 다시 수행할 수 있습니다.
전체 응용 프로그램 또는 응용 프로그램 내의 레이어에 대한 레이어 다이어그램을 만듭니다.
응용 프로그램의 주요 기능 영역 또는 구성 요소를 나타내도록 레이어를 정의합니다. 해당 기능에 따라 레이어의 이름을 "프레젠테이션"이나 "서비스" 등으로 지정합니다. Visual Studio 솔루션이 있는 경우 각 레이어를 프로젝트, 네임스페이스, 파일 등의 아티팩트로 이루어진 컬렉션과 연결할 수 있습니다.
레이어 간의 기존 종속성을 찾습니다.
코드에 반영할 업데이트된 디자인을 나타내도록 레이어와 종속성을 편집합니다.
주요 아키텍처 블록 또는 구성 요소를 나타내는 레이어를 만들고 각 레이어가 다른 레이어를 사용하는 방식을 보여 주는 종속성을 정의하여 응용 프로그램의 새 영역을 디자인합니다.
동료와 논의할 때 유용하도록 다이어그램의 레이아웃 및 모양을 편집합니다.
레이어 다이어그램을 기준으로 코드의 유효성을 검사하여 필요한 아키텍처와 코드 간의 충돌을 강조 표시합니다.
새 아키텍처에 맞게 코드를 업데이트합니다. 유효성 검사에서 충돌이 발견되지 않을 때까지 코드 개발 및 리팩터링을 반복합니다.
코드가 계속 디자인을 준수할 수 있도록 빌드 프로세스에 레이어 유효성 검사를 포함합니다.
레이어 다이어그램 만들기
모델링 프로젝트 내에 레이어 다이어그램을 만들어야 합니다. 기존 모델링 프로젝트에 새 레이어 다이어그램을 추가하거나 새 레이어 다이어그램의 솔루션에서 새 모델링을 만들 수 있습니다.
모델링 프로젝트에 새 레이어 다이어그램을 추가하려면
아키텍처 메뉴에서 새 다이어그램을 클릭합니다.
템플릿에서 레이어 다이어그램을 클릭합니다.
다이어그램 이름을 지정합니다.
모델링 프로젝트에 추가에서 솔루션의 기존 모델링 프로젝트를 찾아 선택합니다.
또는
새 모델링 프로젝트 만들기를 클릭하여 솔루션에 새 모델링 프로젝트를 추가합니다.
참고
레이어 다이어그램은 모델링 프로젝트 내에 있어야 합니다. 그러나 솔루션의 다른 위치에 있는 아티팩트에 레이어 다이어그램을 연결할 수도 있습니다.
동일한 모델링 프로젝트 내에서 기존 레이어 다이어그램을 복사할 수도 있습니다.
참고
한 모델링 프로젝트에서 다른 모델링 프로젝트나 솔루션의 다른 위치로 기존 레이어 다이어그램을 추가하거나 끌어 놓거나 복사하지 마십시오. 이렇게 복사한 레이어 다이어그램은 수정해도 원본 다이어그램과 동일한 참조를 갖게 되어 레이어 유효성 검사가 제대로 작동하지 못하고 다이어그램을 열려고 할 때 요소 누락이나 기타 오류 등의 다른 문제가 발생할 수 있습니다.
레이어 다이어그램을 복사하려면 다음 단계를 수행하십시오.
기존 레이어 다이어그램을 복사하려면
모델링 프로젝트에 새 레이어 다이어그램을 추가합니다.
소스 레이어 다이어그램에서 새 레이어 다이어그램으로 요소를 복사합니다.
기능 영역 또는 구성 요소를 나타내도록 레이어 정의
레이어는 프로젝트, 코드 파일, 네임스페이스, 클래스 및 메서드와 같은 아티팩트의 논리 그룹을 나타냅니다. Visual Studio 솔루션의 아티팩트에서 레이어를 만들거나 Word 파일 또는 PowerPoint 프레젠테이션 등의 문서를 연결하여 레이어에 사양 또는 계획을 첨부할 수 있습니다. 각 레이어는 다이어그램에서 사각형으로 나타나며 해당 레이어에 연결된 아티팩트의 수를 보여 줍니다. 레이어에는 보다 세부적인 작업을 나타내는 중첩된 레이어가 포함될 수 있습니다.
일반적으로 해당 기능에 따라 레이어의 이름을 "프레젠테이션"이나 "서비스" 등으로 지정합니다. 밀접하게 상호 의존적인 아티팩트는 같은 레이어에 두어야 하고, 개별적으로 업데이트하거나 개별 응용 프로그램에서 사용할 수 있는 아티팩트는 서로 다른 레이어에 두어야 합니다. 레이어 패턴에 대해 알아보려면 Patterns & Practices 사이트(https://go.microsoft.com/fwlink/?LinkId=145794)를 참조하십시오.
참고
일부 아티팩트 유형의 경우 레이어에 연결할 수는 있지만 레이어 다이어그램에 대한 유효성 검사는 지원하지 않습니다. 아티팩트가 유효성 검사를 지원하는지 확인하려면 레이어 탐색기를 열고 아티팩트 링크의 유효성 검사 지원 속성을 확인합니다. 자세한 내용은 레이어와 아티팩트 간의 링크 관리를 참조하십시오.
익숙하지 않은 응용 프로그램을 업데이트할 때 종속성 그래프를 사용하면 코드를 쉽게 탐색하고 이해할 수 있습니다. 이 그래프는 코드에서 클러스터와 종속성을 찾는 데 유용합니다. 아키텍처 탐색기를 사용하여 네임스페이스와 클래스를 탐색할 수도 있습니다. 이러한 요소는 종종 기존 레이어에 대응합니다. 이를 통해 아티팩트를 쉽게 레이어에 할당할 수 있습니다. 그런 다음 레이어 다이어그램을 사용하여 코드를 업데이트할 수 있습니다.
자세한 내용은 다음 항목을 참조하십시오.
다음 작업으로 레이어를 만들 수 있습니다.
작업 |
수행할 단계 |
---|---|
단일 아티팩트에 대한 레이어 만들기 |
|
선택한 모든 아티팩트에 대한 단일 레이어 만들기 |
선택한 모든 아티팩트를 동시에 다이어그램으로 끌어 옵니다. 레이어가 다이어그램에 나타나고 전체 아티팩트 그룹에 연결됩니다. |
선택한 각 아티팩트마다 레이어 만들기 |
Shift 키를 누른 상태에서 모든 아티팩트를 동시에 레이어 다이어그램으로 끌어 옵니다.
참고
Shift 키를 사용하여 항목 범위를 선택할 경우 아티팩트를 선택한 후에 키를 놓습니다.그런 다음 이 키를 다시 누른 상태로 아티팩트를 다이어그램으로 끌어 옵니다.
각 아티팩트에 대한 레이어가 다이어그램에 나타나고 해당 아티팩트에 연결됩니다. |
레이어에 아티팩트 추가 |
아티팩트를 레이어로 끌어 옵니다. |
연결되지 않은 새 레이어 만들기 |
도구 상자에서 레이어 다이어그램 구역을 확장한 다음 레이어를 레이어 다이어그램으로 끌어 옵니다. 레이어를 여러 개 추가하려면 이 도구를 두 번 클릭합니다. 작업이 끝난 후에는 포인터 도구를 클릭하거나 Esc 키를 누릅니다. -또는- 레이어 다이어그램을 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 레이어를 클릭합니다. 예를 들어 아직 개발을 시작하지 않은 응용 프로그램의 일부를 나타내려는 경우 이를 수행할 수 있습니다. 초기 단계에서 해당 레이어에 대해 자리 표시자 코드를 만들면 유용합니다. |
중첩된 레이어 만들기 |
기존 레이어를 다른 아티팩트로 끌어 옵니다. -또는- 레이어를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 레이어를 클릭합니다. |
기존 레이어를 두 개 이상 포함하는 새 레이어 만들기 |
레이어를 선택하고 선택한 레이어를 마우스 오른쪽 단추로 클릭한 다음 그룹화를 클릭합니다. |
레이어 색 변경 |
레이어의 색 속성을 원하는 색으로 설정합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 종속될 수 없도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 종속성 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 속하지 않도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스 중 하나에 속해야 하도록 지정합니다. |
레이어의 필요한 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 아티팩트 간의 링크 관리
레이어 다이어그램에서 레이어를 마우스 오른쪽 단추로 클릭하고 링크 보기를 클릭합니다.
선택한 레이어에 연결된 아티팩트가 레이어 탐색기에 표시됩니다. 다이어그램의 레이어에 연결된 모든 아티팩트를 보려면 다이어그램을 클릭합니다.
다음 작업으로 이러한 링크를 관리할 수 있습니다.
작업
레이어 탐색기에서 수행할 단계
레이어와 아티팩트 간의 링크 삭제
아티팩트 링크를 마우스 오른쪽 단추로 클릭하고 삭제를 클릭합니다.
한 레이어에서 다른 레이어로 링크 이동
아티팩트 링크를 다이어그램의 기존 레이어로 끌어 옵니다.
-또는-
아티팩트 링크를 마우스 오른쪽 단추로 클릭하고 잘라내기를 클릭합니다.
레이어 다이어그램에서 레이어를 마우스 오른쪽 단추로 클릭하고 붙여넣기를 클릭합니다.
한 레이어에서 다른 레이어로 링크 복사
아티팩트 링크를 마우스 오른쪽 단추로 클릭하고 복사를 클릭합니다.
레이어 다이어그램에서 레이어를 마우스 오른쪽 단추로 클릭하고 붙여넣기를 클릭합니다.
기존 아티팩트 링크에서 새 레이어 만들기
아티팩트 링크를 다이어그램의 빈 영역으로 끌어 옵니다.
연결된 아티팩트가 레이어 다이어그램에 대한 유효성 검사를 지원하는지 확인
아티팩트 링크의 유효성 검사 지원 열을 검토합니다.
레이어 다이어그램에 대한 유효성 검사를 지원하지 않는 아티팩트에는 C++ 프로젝트, 웹 사이트, Office 문서, 일반 텍스트 파일 등이 있습니다. 이러한 아티팩트를 레이어에 연결할 수는 있지만 유효성 검사 프로세스에서 무시됩니다. 별도의 레이어에 연결된 프로젝트 또는 어셈블리의 경우에는 해당 레이어 간에 종속성이 나타나지 않아도 유효성 검사 오류가 나타나지 않습니다. 이러한 참조는 코드에서 사용하지 않는 한 종속성으로 처리되지 않습니다.
레이어 간의 기존 종속성 찾기
한 레이어와 연결된 아티팩트에 다른 레이어와 연결된 아티팩트에 대한 참조가 있을 때마다 종속성이 존재합니다. 예를 들어 한 레이어의 클래스가 다른 레이어의 클래스를 포함하는 변수를 선언하는 경우입니다. 기존 종속성을 리버스 엔지니어링하여 해당 종속성을 찾을 수 있습니다.
참고
일부 아티팩트 종류의 경우 종속성을 리버스 엔지니어링할 수 없습니다. 예를 들어 텍스트 파일에 연결된 레이어를 소스 또는 대상으로 하는 종속성은 리버스 엔지니어링되지 않습니다. 리버스 엔지니어링할 수 있는 종속성이 있는 아티팩트를 확인하려면 하나 또는 여러 개의 레이어를 마우스 오른쪽 단추로 클릭하고 링크 보기를 클릭합니다. 그런 다음 레이어 탐색기에서 유효성 검사 지원 열을 검토합니다. 이 열에 False가 표시된 아티팩트에 대해서는 종속성이 리버스 엔지니어링되지 않습니다.
레이어 간의 기존 종속성을 리버스 엔지니어링하려면
- 하나 또는 여러 개의 레이어를 선택하고 그 중 하나를 마우스 오른쪽 단추로 클릭한 다음, 종속성 생성을 클릭합니다.
일반적으로 존재할 수 없는 일부 종속성이 나타나는데, 이러한 종속성을 편집하여 계획된 디자인에 맞출 수 있습니다.
레이어 및 종속성을 편집하여 계획된 디자인 표시
시스템에 대해 변경할 내용을 나타내려는 경우 업데이트된 디자인을 반영하도록 다이어그램을 편집할 수 있습니다. 코드를 확장하기 전에 일부 리팩터링 관련 사항을 변경하여 코드의 구조를 개선할 수도 있습니다. 자세한 내용은 코드 구조 개선을 참조하십시오.
작업 |
수행할 단계 |
---|---|
존재할 수 없는 종속성 삭제 |
종속성을 클릭하고 Delete 키를 누릅니다. |
종속성 방향 변경 또는 제한 |
방향 속성을 설정합니다. |
새 종속성 만들기 |
종속성 및 양방향 종속성 도구를 사용합니다. 종속성을 여러 개 그리려면 이 도구를 두 번 클릭합니다. 작업이 끝난 후에는 포인터 도구를 클릭하거나 Esc 키를 누릅니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 종속될 수 없도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 종속성 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 속하지 않도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스 중 하나에 속해야 하도록 지정합니다. |
레이어의 필요한 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
코드 구조 개선
리팩터링 변경 내용은 응용 프로그램 동작에 영향을 주지 않으면서 이후에 변경 및 확장을 쉽게 할 수 있도록 하는 개선 기능입니다. 올바르게 구조화된 코드의 디자인은 레이어 다이어그램으로 쉽게 추출할 수 있습니다.
예를 들어 코드에서 각 네임스페이스에 대한 레이어를 만든 다음 종속성을 리버스 엔지니어링하는 경우 레이어 간에는 최소 단방향 종속성 집합이 있어야 합니다. 클래스 또는 메서드를 레이어로 사용하여 보다 세부적인 다이어그램을 만드는 경우 해당 결과에도 동일한 특징이 포함되어야 합니다.
그렇지 않은 경우 코드는 실행 주기 동안 변경하기가 더 어렵게 되고 레이어 다이어그램을 사용하는 유효성 검사에 적합하지 않게 됩니다.
응용 프로그램의 새 영역 디자인
새 프로젝트나 새 프로젝트의 새 영역에 대한 개발을 시작하는 경우 레이어와 종속성을 그리면 코드 개발을 시작하기 전에 주요 구성 요소를 식별할 수 있습니다.
가능한 경우 레이어 다이어그램에 식별할 수 있는 아키텍처 패턴을 표시합니다. 예를 들어 데스크톱 응용 프로그램을 기술하는 레이어 다이어그램에 프레젠테이션, 도메인 논리 및 데이터 저장소와 같은 레이어가 포함될 수 있습니다. 응용 프로그램 내의 단일 기능을 다루는 레이어 다이어그램에는 모델, 뷰 및 컨트롤러와 같은 레이어가 포함될 수 있습니다. 이러한 패턴에 대한 자세한 내용은 Patterns & Practices: Application Architecture를 참조하십시오.
비슷한 패턴을 자주 만드는 경우에는 사용자 지정 도구를 만드는 것이 좋습니다. 자세한 내용은 방법: 사용자 지정 모델링 도구 상자 항목 정의를 참조하십시오.
네임스페이스, 클래스 또는 구성 요소와 같이 각 레이어에 대한 코드 아티팩트를 만듭니다. 이렇게 하면 코드로 이동하거나 코드 아티팩트를 레이어에 연결하기가 쉽습니다. 각 아티팩트를 만든 후 바로 적절한 레이어에 연결합니다.
대부분의 클래스 및 기타 아티팩트를 레이어에 연결할 필요가 없습니다. 이러한 요소는 네임스페이스와 같이 이미 레이어에 연결된 더 큰 아티팩트에 포함되어 있습니다.
새 기능에 대한 다이어그램을 새로 만듭니다. 일반적으로 전체 응용 프로그램을 기술하는 하나 이상의 레이어 다이어그램이 있습니다. 응용 프로그램 내에 새 기능을 디자인하는 경우에는 기존 다이어그램을 변경하거나 여기에 추가하지 마십시오. 대신 코드의 새 파트를 반영하는 고유한 다이어그램을 만듭니다. 새 다이어그램의 레이어는 새 기능에 대한 프레젠테이션, 도메인 논리 및 데이터베이스 레이어를 포함할 수 있습니다.
응용 프로그램을 빌드하면 전체 다이어그램 및 좀 더 상세한 기능 다이어그램 둘 다에 대해 코드 유효성 검사가 수행됩니다.
프레젠테이션 및 토론을 위한 레이아웃 편집
레이어 및 종속성을 쉽게 식별하거나 팀 멤버와 레이어 및 종속성에 대해 토론하려면 다음 방법으로 다이어그램의 모양 및 레이아웃을 편집합니다.
레이어의 크기, 모양 및 위치를 변경합니다.
레이어 및 종속성의 색을 변경합니다.
- 하나 이상의 레이어 또는 종속성을 선택하고 마우스 오른쪽 단추를 클릭한 후 속성을 클릭합니다. 그런 다음 속성 창에서 색 속성을 편집합니다.
다이어그램에 대해 코드 유효성 검사
다이어그램을 편집한 경우 필요할 때 수동으로 또는 로컬 빌드를 실행할 때마다 자동으로 코드를 기준으로 다이어그램의 유효성을 검사할 수 있습니다. Team Foundation Server를 사용하여 빌드할 때마다 자동으로 유효성 검사를 실행할 수도 있습니다.
자세한 내용은 다음을 참조하십시오.
빌드 프로세스에 레이어 유효성 검사 포함
유효성 검사를 위해 수동으로 어셈블리나 프로젝트를 추가하려면
솔루션 탐색기에서 모델링 프로젝트 또는 레이어 참조 폴더를 마우스 오른쪽 단추로 클릭한 다음 참조 추가를 클릭합니다.
참조 추가 대화 상자에서 어셈블리 또는 프로젝트를 선택하고 확인을 클릭합니다.
열려 있는 레이어 다이어그램에서 수동으로 코드 유효성을 검사하려면
다이어그램 화면을 마우스 오른쪽 단추로 클릭하고 아키텍처 유효성 검사를 클릭합니다.
참고
기본적으로 레이어 다이어그램 파일(.layerdiagram)의 빌드 작업 속성은 유효성 검사로 설정되어 있으므로 해당 다이어그램이 유효성 검사 프로세스에 포함됩니다.
오류 목록 창에는 발생하는 모든 오류가 보고됩니다. 유효성 검사 오류에 대한 자세한 내용은 레이어 유효성 검사 오류 이해를 참조하십시오.
각 오류의 소스를 보려면 오류 목록 창에서 오류 항목을 두 번 클릭합니다.
참고
Visual Studio에서는 오류 소스 대신 종속성 그래프가 표시될 수도 있습니다. 레이어 다이어그램에 지정되지 않은 어셈블리에 대한 종속성이 코드에 있거나 레이어 다이어그램에 지정된 종속성이 코드에 없는 경우 종속성 그래프가 표시됩니다. 이 경우 종속성 그래프나 코드를 검토하여 종속성이 있어야 하는지 여부를 확인할 수 있습니다. 종속성 그래프에 대한 자세한 내용은 방법: 그래프 문서 찾아보기 및 탐색을 참조하십시오.
오류를 관리하려면 새 아키텍처에 맞게 코드 업데이트를 참조하십시오.
명령 프롬프트에서 수동으로 코드 유효성을 검사하려면
Visual Studio 명령 프롬프트를 엽니다.
명령 프롬프트를 열려면 시작을 클릭하고 모든 프로그램, Microsoft Visual Studio 2010, Visual Studio Tools를 차례로 가리킨 다음, Visual Studio 2010 명령 프롬프트를 클릭합니다.
다음 중 하나를 선택합니다.
솔루션의 특정 모델링 프로젝트를 기준으로 코드 유효성을 검사하려면 다음 사용자 지정 속성을 사용하여 MSBuild를 실행합니다.
msbuild <FilePath+ModelProjectFileName>.modelproj /p:ValidateArchitecture=true
-또는-
모델링 프로젝트 파일(.modelproj)과 레이어 다이어그램이 포함된 폴더로 이동한 후 다음 사용자 지정 속성을 사용하여 MSBuild를 실행합니다.
msbuild /p:ValidateArchitecture=true
솔루션의 모든 모델링 프로젝트를 기준으로 코드 유효성을 검사하려면 다음 사용자 지정 속성을 사용하여 MSBuild를 실행합니다.
msbuild <FilePath+SolutionName>.sln /p:ValidateArchitecture=true
-또는-
솔루션 폴더로 이동한 후 다음 사용자 지정 속성을 사용하여 MSBuild를 실행합니다. 이 솔루션 폴더에는 레이어 다이어그램이 포함된 모델링 프로젝트가 들어 있어야 합니다.
msbuild /p:ValidateArchitecture=true
발생하는 모든 오류가 나열됩니다. MSBuild에 대한 자세한 내용은 MSBuild 및 MSBuild 작업을 참조하십시오.
유효성 검사 오류에 대한 자세한 내용은 레이어 유효성 검사 오류 이해를 참조하십시오.
로컬 빌드에서 자동으로 코드 유효성을 검사하려면
- 텍스트 편집기를 사용하여 모델링 프로젝트 파일(.modelproj)을 열고 다음 속성을 포함합니다.
<ValidateArchitecture>true</ValidateArchitecture>
-또는-
솔루션 탐색기에서 하나 이상의 레이어 다이어그램이 포함된 모델링 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
속성 창에서 모델링 프로젝트의 아키텍처 유효성 검사 속성을 True로 설정합니다.
이렇게 하면 모델링 프로젝트가 유효성 검사 프로세스에 포함됩니다.
솔루션 탐색기에서 유효성 검사에 사용할 레이어 다이어그램 파일(.layerdiagram)을 클릭합니다.
속성 창에서 다이어그램의 빌드 작업 속성이 유효성 검사로 설정되어 있는지 확인합니다.
이렇게 하면 레이어 다이어그램이 유효성 검사 프로세스에 포함됩니다.
유효성 검사 오류에 대한 자세한 내용은 레이어 유효성 검사 오류 이해를 참조하십시오. 오류를 관리하려면 새 아키텍처에 맞게 코드 업데이트를 참조하십시오.
새 아키텍처에 맞게 코드 업데이트
일반적으로 업데이트된 레이어 다이어그램을 기준으로 코드 유효성을 처음으로 검사할 때는 오류가 나타납니다. 이러한 오류는 다음과 같은 몇 가지 원인으로 발생할 수 있습니다.
잘못된 레이어에 아티팩트가 할당되었습니다. 이 경우 아티팩트를 이동합니다.
클래스 등의 아티팩트가 아키텍처에 맞지 않는 방식으로 다른 클래스를 사용합니다. 이 경우 코드를 리팩터링하여 종속성을 제거합니다.
이러한 오류를 해결하려면 유효성 검사 중 더 이상 오류가 나타나지 않을 때까지 코드를 업데이트합니다. 이 과정은 대개 반복적입니다.
참고
코드를 개발하거나 리팩터링하는 경우 새 아티팩트를 레이어 다이어그램에 연결해야 할 수도 있습니다. 그러나 예를 들어 레이어가 기존 네임스페이스를 나타내고 새 코드에서는 해당 네임스페이스에 요소만 더 추가하는 경우와 같은 경우에는 이 작업이 필요하지 않을 수도 있습니다.
개발 과정에서 유효성 검사 중 보고된 충돌 문제 중 일부를 표시하지 않을 수 있습니다. 예를 들어 이미 해결되었거나 특정 시나리오와 관계가 없는 오류를 표시하지 않을 수 있습니다. 오류를 표시하지 않는 경우에는 Team Foundation에 작업 항목을 기록하는 것이 좋습니다.
유효성 검사 오류에 대한 작업 항목을 만들려면
- 오류 목록 창에서 오류를 마우스 오른쪽 단추로 클릭하고 작업 항목 만들기를 가리킨 다음 만들려는 작업 항목 형식을 클릭합니다.
다음 작업을 수행하여 오류 목록 창의 유효성 검사 오류를 관리할 수 있습니다.
작업 |
수행할 단계 |
---|---|
선택한 오류를 유효성 검사 중에 표시 안 함 |
선택한 하나 이상의 오류를 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 오류 표시 안 함을 클릭합니다. 표시되지 않는 오류는 취소선 서식을 사용하여 나타납니다. 다음에 유효성 검사를 실행하면 이러한 오류가 나타나지 않습니다. 표시되지 않는 오류는 해당하는 레이어 다이어그램 파일의 .suppressions 파일에서 추적됩니다. |
선택한 오류 표시 안 함 중지 |
표시하지 않도록 선택한 하나 이상의 오류를 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 오류 표시 안 함 중지를 클릭합니다. 다음에 유효성 검사를 실행하면 표시하지 않도록 선택한 오류는 나타나지 않습니다. |
오류 목록 창에서 표시되지 않는 모든 오류 복원 |
오류 목록 창에서 아무 곳이나 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 표시 안 한 오류 표시를 클릭합니다. |
표시되지 않는 모든 오류를 오류 목록 창에서 숨기기 |
오류 목록 창에서 아무 곳이나 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 표시 안 한 오류 숨기기를 클릭합니다. |
빌드 프로세스에 레이어 유효성 검사 포함
이후에 코드에서 변경하는 내용이 레이어 다이어그램에 맞도록 솔루션의 표준 빌드 프로세스에 레이어 유효성 검사를 포함합니다. 다른 팀 멤버가 솔루션을 빌드할 때마다 코드의 종속성과 레이어 다이어그램 간의 차이가 빌드 오류로 보고됩니다.
Team Foundation Build를 실행할 때 코드 유효성을 검사하려면
팀 탐색기에서 빌드 정의를 두 번 클릭하고 프로세스를 클릭합니다.
빌드 프로세스 매개 변수에서 컴파일을 확장하고 MSBuild 인수 매개 변수에 다음과 같이 입력합니다.
/p:ValidateArchitecture=true
자세한 내용은 기본 템플릿을 사용하여 빌드 정의를 참조하십시오.
참고 항목
작업
방법: 레이어 다이어그램에 대해 .NET 코드 유효성 검사