방법: 레이어 다이어그램에 대해 .NET 코드 유효성 검사

이 항목은 다음 언어에 적용됩니다.

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

항목이 적용됨 항목이 적용됨 항목이 적용되지 않음 항목이 적용되지 않음

레이어 다이어그램에 대해 코드 유효성을 검사하면 코드가 변경될 때 코드에 아키텍처 제약 조건을 적용할 수 있습니다. 이 작업을 수행하면 코드의 종속성과 다이어그램의 종속성이 비교됩니다. 레이어 유효성 검사는 다음 작업을 수행하는 데도 유용합니다.

  • 기존 코드와 계획된 디자인 간의 차이점을 확인합니다.

  • 계획된 대로 구성되지 않거나 불필요한 종속성이 있는 코드를 찾습니다.

  • 제안된 변경 내용의 영향을 받을 수 있는 종속성을 찾습니다.

    예를 들어 레이어 다이어그램을 편집하여 잠재적인 아키텍처 변경을 나타낸 다음, 코드의 유효성을 검사하여 영향을 받는 종속성을 확인할 수 있습니다. 자세한 내용은 방법: 아티팩트에서 레이어 다이어그램 만들기레이어 다이어그램: 지침를 참조하십시오.

  • 코드를 다른 디자인으로 리팩터링 또는 마이그레이션합니다.

    코드를 다른 아키텍처로 이동할 때 아직 작업이 필요한 코드 또는 종속성을 찾습니다.

코드의 유효성을 검사하려면 레이어 다이어그램이 있는 하나 이상의 모델링 프로젝트가 Visual Studio 솔루션에 포함되어 있어야 합니다. 레이어 다이어그램은 시스템의 아키텍처를 나타내며 네임스페이스, 프로젝트 및 기타 아티팩트를 논리적 추상 그룹 또는 레이어로 구성합니다. 이러한 레이어는 시스템의 주요 구성 요소나 해당 아티팩트가 수행하는 작업을 나타냅니다. 이러한 레이어를 정의하고, 레이어에 아티팩트를 연결한 다음, 해당 아티팩트 간의 계획된 종속성을 나타내야 합니다.

참고

일부 아티팩트 유형의 경우 레이어에 연결할 수는 있지만 레이어 다이어그램에 대한 유효성 검사는 지원하지 않습니다. 아티팩트가 유효성 검사를 지원하는지 확인하려면 레이어 탐색기를 열고 아티팩트 링크의 유효성 검사 지원 속성을 확인합니다. 자세한 내용은 유효성 검사를 지원하지 않는 아티팩트를 참조하십시오.

레이어 다이어그램을 만드는 방법에 대한 자세한 내용은 다음 항목을 참조하십시오.

C 또는 C++ 코드의 유효성을 검사하려면 Microsoft Visual Studio 2010 시각화 및 모델링 기능 팩을 다운로드하여 설치하십시오.

자세한 내용은 방법: 레이어 다이어그램에 대해 C 및 C++ 코드 유효성 검사를 참조하십시오.

항목 내용

  • 유효성 검사를 위해 수동으로 어셈블리와 프로젝트를 추가합니다.

  • 필요할 때 수동으로 코드 유효성 검사

  • 로컬 빌드 중 자동으로 코드 유효성 검사

  • Team Foundation Build 중 자동으로 코드 유효성 검사

  • 레이어 유효성 검사 문제 해결

유효성 검사를 위해 수동으로 어셈블리와 프로젝트 추가

모델링 프로젝트 내의 레이어 참조 폴더에는 유효성 검사 중 분석되는 어셈블리와 프로젝트에 대한 참조가 들어 있습니다. 레이어 다이어그램으로 항목을 끌어 놓으면 해당 어셈블리나 프로젝트에 대한 참조가 이 폴더에 자동으로 추가됩니다. 유효성 검사를 위해 어셈블리와 프로젝트를 레이어 다이어그램으로 끌어 놓지 않고 수동으로 추가할 수도 있습니다.

유효성 검사를 위해 수동으로 어셈블리와 프로젝트를 추가하려면

  1. 솔루션 탐색기에서 모델링 프로젝트 또는 레이어 참조 폴더를 마우스 오른쪽 단추로 클릭한 다음 참조 추가를 클릭합니다.

  2. 참조 추가 대화 상자에서 어셈블리 또는 프로젝트를 선택하고 확인을 클릭합니다.

필요할 때 수동으로 코드 유효성 검사

열려 있는 레이어 다이어그램에서 코드 유효성을 검사하려면

  1. 다이어그램 화면을 마우스 오른쪽 단추로 클릭하고 아키텍처 유효성 검사를 클릭합니다.

    참고

    기본적으로 레이어 다이어그램 파일(.layerdiagram)의 빌드 작업 속성은 유효성 검사로 설정되어 있으므로 해당 다이어그램이 유효성 검사 프로세스에 포함됩니다.

    오류 목록 창에는 발생하는 모든 오류가 보고됩니다. 유효성 검사 오류에 대한 자세한 내용은 레이어 유효성 검사 오류 이해를 참조하십시오.

  2. 각 오류의 소스를 보려면 오류 목록 창에서 오류 항목을 두 번 클릭합니다.

    참고

    Visual Studio에서는 오류 소스 대신 종속성 그래프가 표시될 수도 있습니다. 레이어 다이어그램에 지정되지 않은 어셈블리에 대한 종속성이 코드에 있거나 레이어 다이어그램에 지정된 종속성이 코드에 없는 경우 종속성 그래프가 표시됩니다. 이 경우 종속성 그래프나 코드를 검토하여 종속성이 있어야 하는지 여부를 확인할 수 있습니다. 종속성 그래프에 대한 자세한 내용은 방법: 그래프 문서 찾아보기 및 탐색을 참조하십시오.

  3. 오류를 관리하려면 유효성 검사 오류 관리를 참조하십시오.

명령 프롬프트에서 코드 유효성을 검사하려면

  1. Visual Studio 명령 프롬프트를 엽니다.

    명령 프롬프트를 열려면 시작을 클릭하고 모든 프로그램, Microsoft Visual Studio 2010, Visual Studio Tools를 차례로 가리킨 다음, Visual Studio 2010 명령 프롬프트를 클릭합니다.

  2. 다음 중 하나를 선택합니다.

    • 솔루션의 특정 모델링 프로젝트를 기준으로 코드 유효성을 검사하려면 다음 사용자 지정 속성을 사용하여 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에 대한 자세한 내용은 MSBuildMSBuild 작업을 참조하십시오.

유효성 검사 오류에 대한 자세한 내용은 레이어 유효성 검사 오류 이해를 참조하십시오.

유효성 검사 오류 관리

개발 과정에서 유효성 검사 중 보고된 충돌 문제 중 일부를 표시하지 않을 수 있습니다. 예를 들어 이미 해결되었거나 특정 시나리오와 관계가 없는 오류를 표시하지 않을 수 있습니다. 오류를 표시하지 않는 경우에는 Team Foundation에 작업 항목을 기록하는 것이 좋습니다.

유효성 검사 오류에 대한 작업 항목을 만들려면

  • 오류 목록 창에서 오류를 마우스 오른쪽 단추로 클릭하고 작업 항목 만들기를 가리킨 다음 만들려는 작업 항목 형식을 클릭합니다.

다음 작업을 수행하여 오류 목록 창의 유효성 검사 오류를 관리할 수 있습니다.

작업

수행할 단계

선택한 오류를 유효성 검사 중에 표시 안 함

선택한 하나 이상의 오류를 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 오류 표시 안 함을 클릭합니다.

표시되지 않는 오류는 취소선 서식을 사용하여 나타납니다. 다음에 유효성 검사를 실행하면 이러한 오류가 나타나지 않습니다.

표시되지 않는 오류는 해당하는 레이어 다이어그램 파일의 .suppressions 파일에서 추적됩니다.

선택한 오류 표시 안 함 중지

표시하지 않도록 선택한 하나 이상의 오류를 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 오류 표시 안 함 중지를 클릭합니다.

다음에 유효성 검사를 실행하면 표시하지 않도록 선택한 오류는 나타나지 않습니다.

오류 목록 창에서 표시되지 않는 모든 오류 복원

오류 목록 창에서 아무 곳이나 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 표시 안 한 오류 표시를 클릭합니다.

표시되지 않는 모든 오류를 오류 목록 창에서 숨기기

오류 목록 창에서 아무 곳이나 마우스 오른쪽 단추로 클릭하고 유효성 검사 오류 관리를 가리킨 다음, 표시 안 한 오류 숨기기를 클릭합니다.

로컬 빌드 중 자동으로 코드 유효성 검사

로컬 빌드를 실행할 때마다 자동으로 코드의 유효성을 검사하려면 이 방법을 사용합니다.

로컬 빌드에서 자동으로 코드 유효성을 검사하려면

  • 텍스트 편집기를 사용하여 모델링 프로젝트 파일(.modelproj)을 열고 다음 속성을 포함합니다.
<ValidateArchitecture>true</ValidateArchitecture>

-또는-

  1. 솔루션 탐색기에서 하나 이상의 레이어 다이어그램이 포함된 모델링 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  2. 속성 창에서 모델링 프로젝트의 아키텍처 유효성 검사 속성을 True로 설정합니다.

    이렇게 하면 모델링 프로젝트가 유효성 검사 프로세스에 포함됩니다.

  3. 솔루션 탐색기에서 유효성 검사에 사용할 레이어 다이어그램 파일(.layerdiagram)을 클릭합니다.

  4. 속성 창에서 다이어그램의 빌드 작업 속성이 유효성 검사로 설정되어 있는지 확인합니다.

    이렇게 하면 레이어 다이어그램이 유효성 검사 프로세스에 포함됩니다.

유효성 검사 오류에 대한 자세한 내용은 레이어 유효성 검사 오류 이해를 참조하십시오. 오류를 관리하려면 유효성 검사 오류 관리를 참조하십시오.

Team Foundation Build 중 자동으로 코드 유효성 검사

계획된 디자인과 충돌을 일으키는 코드의 변경 내용을 방지하려면 사용자 지정 MSBuild 작업을 만들어서 지정할 수 있는 제어된 체크인 및 Team Foundation Build로 실행되는 빌드와 함께 레이어 유효성 검사를 포함합니다. 빌드 보고서를 사용하여 유효성 검사 오류를 수집합니다.

Team Foundation Build에 대한 자세한 내용은 다음 항목을 참조하십시오.

제어된 체크 인 빌드를 만드는 방법에 대한 자세한 내용은 변경 내용의 유효성을 검사하는 제어된 체크 인 빌드 정의를 참조하십시오.

Team Foundation Build를 실행할 때 코드 유효성을 검사하려면

  1. 팀 탐색기에서 빌드 정의를 두 번 클릭하고 프로세스를 클릭합니다.

  2. 빌드 프로세스 매개 변수에서 컴파일을 확장하고 MSBuild 인수 매개 변수에 다음과 같이 입력합니다.

    /p:ValidateArchitecture=true

자세한 내용은 기본 템플릿을 사용하여 빌드 정의를 참조하십시오.

유효성 검사를 지원하지 않는 아티팩트

레이어 다이어그램에 대한 유효성 검사를 지원하지 않는 아티팩트에는 C++ 프로젝트, 웹 사이트, Office 문서, 일반 텍스트 파일 등이 있습니다. 이러한 아티팩트를 레이어에 연결할 수는 있지만 유효성 검사 프로세스에서 무시됩니다. 별도의 레이어에 연결된 프로젝트 또는 어셈블리의 경우에는 해당 레이어 간에 종속성이 나타나지 않아도 유효성 검사 오류가 나타나지 않습니다. 이러한 참조는 코드에서 사용하지 않는 한 종속성으로 처리되지 않습니다.

아티팩트에서 유효성 검사를 지원하는지 확인하려면

  1. 레이어 다이어그램에서 하나 이상의 레이어를 선택하고 선택 항목을 마우스 오른쪽 단추로 클릭한 다음, 링크 보기를 클릭합니다.

  2. 레이어 탐색기에서 유효성 검사 지원 열을 검토합니다.

    아티팩트 링크에 대한 값이 false이면 해당 아티팩트가 유효성 검사를 지원하지 않습니다.

레이어 유효성 검사 문제 해결

다음 표에서는 레이어 유효성 검사 문제와 해결 방법에 대해 설명합니다. 이 문제는 코드와 디자인 간의 충돌로 인해 발생하는 오류와 다릅니다. 이 오류에 대한 자세한 내용은 레이어 유효성 검사 오류 이해를 참조하십시오.

문제

가능한 원인

해결 방법

유효성 검사 오류가 예상대로 발생하지 않습니다.

같은 모델링 프로젝트에 있는 레이어 다이어그램과 솔루션 탐색기의 다른 다이어그램에서 복사한 레이어 다이어그램에 대해서는 유효성 검사가 수행되지 않습니다. 이렇게 복사한 레이어 다어어그램은 원본 레이어 다이어그램과 동일한 참조를 포함합니다.

  1. 모델링 프로젝트에 새 레이어 다이어그램을 추가합니다.

  2. 소스 레이어 다이어그램에서 새 다이어그램으로 요소를 복사합니다.

참고 항목

개념

개발하는 동안 시스템 유효성 검사

기타 리소스

레이어 유효성 검사 오류 이해