방법: .NET 코드에 대한 종속성 그래프 생성

.NET 코드에서 구조와 관계를 탐색하려면 Visual Studio Ultimate를 사용하여 종속성 그래프를 생성합니다. 이 그래프를 사용하여 코드에서 종속성을 쉽게 시각화, 탐색 및 분석할 수 있습니다. 그래프는 코드 요소 및 요소 관계를 링크 또는 가장자리로 연결되는 노드의 집합으로 표현합니다.

참고

매우 큰 솔루션이 있는 경우 종속성 그래프를 생성하면 메모리 부족 예외가 발생할 수 있습니다. 이 예외가 발생할 경우 솔루션의 범위를 줄이십시오. 아키텍처 탐색기를 사용하여 시각화하려는 프로젝트와 종속성을 선택한 다음 그래프를 생성할 수도 있습니다.

C 및 C++ 코드와 웹 프로젝트에 대한 종속성 그래프를 생성하려면 Microsoft Visual Studio 2010 시각화 및 모델링 기능 팩을 다운로드하여 설치하십시오.

자세한 내용은 다음을 참조하십시오.

생성할 종속성 그래프 선택

Visual Studio Ultimate를 사용하면 그래프 문서를 생성하여 코드의 종속성을 빠르게 탐색할 수 있습니다. 명령줄 도구를 사용하여 그래프 문서를 생성하려면 일괄 처리를 위한 그래프 문서 생성을 참조하십시오.

작업

생성되는 그래프에 표시할 관계

소스 코드를 간략히 살펴보기

Visual Studio 솔루션에서 모든 어셈블리, 모든 네임스페이스 모든 클래스 간의 관계

이 그래프에서는 선택한 노드 중 최상위 수준에 대한 집계된 종속성을 보여 줍니다.

소스 코드의 특정 종속성 보기

Visual Studio 솔루션에서 선택한 소스 코드 영역 간의 관계

아키텍처 탐색기를 사용하여 코드를 계층적으로 탐색하고 특정 종류의 구조 및 관계를 선택합니다.

컴파일된 코드를 간략히 살펴보기

하나 이상의 .NET 어셈블리 파일(.dll) 또는 실행 파일(.exe)에서의 관계

컴파일된 코드의 특정 종속성 보기

.NET 어셈블리 파일(.dll) 또는 실행 파일(.exe)에서 선택한 영역 간의 관계

아키텍처 탐색기를 사용하여 특정 종류의 구조 및 관계를 탐색하고 선택합니다.

생성한 그래프를 사용하여 여러 가지 방법으로 코드를 탐색할 수 있습니다. 자세한 내용은 방법: 종속성 그래프를 사용하여 코드 탐색을 참조하십시오.

Visual Studio 솔루션의 소스 코드를 간략히 살펴보기

  1. 솔루션을 엽니다.

  2. 아키텍처 메뉴에서 종속성 그래프 생성을 가리키고 다음 단계 중 하나를 수행합니다.

    클릭 대상

    생성되는 그래프의 표시 내용

    어셈블리별

    솔루션에서 생성되는 모든 어셈블리 간의 집계된 종속성과 해당 어셈블리에 사용되는 외부 종속성

    어셈블리 내의 네임스페이스, 클래스 및 메서드를 보려면 그래프에서 어셈블리를 확장합니다. 외부 어셈블리에는 사용 중인 항목만 표시됩니다.

    네임스페이스별

    솔루션에 있는 모든 네임스페이스와 해당 코드에 사용되는 외부 네임스페이스 간의 집계된 종속성

    네임스페이스 내의 클래스 및 메서드를 보려면 그래프에서 네임스페이스를 확장합니다. 외부 네임스페이스에는 사용 중인 항목만 표시됩니다.

    클래스별

    솔루션에 있는 모든 클래스 간의 집계된 종속성. 코드에서 사용되는 외부 클래스에 대한 정보는 표시되지 않습니다.

    또는

    여러 구조 형식 간의 종속성을 보려면 사용자 지정을 클릭합니다.

    1. 종속성 그래프 생성 대화 상자에서 어셈블리, 네임스페이스, 형식 또는 메서드 상자를 하나 이상 클릭합니다.

    2. 다음 표에 따라 그래프를 필터링합니다.

      작업

      수행할 단계

      외부 종속성에 대한 참조 보기

      외부 어셈블리에서 내부 어셈블리가 빌드되는 방식을 탐색하는 데 유용합니다.

      외부를 선택합니다.

      특정 액세스 수준의 형식 및 메서드만 보기

      예를 들어 공용 형식만 선택하여 그래프를 단순하게 할 수 있습니다.

      액세스 필터 창을 확장한 다음 원하는 수준을 선택합니다.

      참고참고
      형식 액세스 수준을 하나 이상 선택해야 합니다.그래프의 종속성 수를 줄이려면 메서드에 대해 원하는 액세스 수준만 선택합니다.

      포함 관계를 중첩된 그룹으로 표시하고 종속성을 집계 링크로 표시하여 상위 수준 종속성 보기

      참고참고
      메서드는 가장 낮은 수준의 리프 노드이므로 메서드의 경우 종속성은 집계 링크가 아니라 개별 링크로 나타납니다.

      포함 항목을 그룹으로 표시 상자를 선택합니다.

      포함 관계를 연결된 노드로 표시하고 종속성을 개별 링크로 표시하여 하위 수준 종속성 보기

      포함 항목을 그룹으로 표시 상자의 선택을 취소합니다.

    3. 끝마쳤으면 확인을 클릭합니다.

      Visual Studio에서 방향이 지정된 그래프 문서(.dgml 파일)를 만들어 엽니다.

    집계된 종속성의 링크 두께는 집계된 종속성이 나타내는 개별 종속성의 대략적인 수를 표시합니다. 링크가 나타내는 종속성의 종류를 보려면 링크 위로 포인터를 이동하여 도구 설명을 표시합니다.

    참고

    아키텍처 메뉴에서 생성하는 종속성 그래프에는 가상 메서드에 대한 호출이 가장 많이 파생되는 형식까지 표시되지 않습니다. 대신 해당 가상 멤버를 선언하는 형식에 대한 종속성이 표시됩니다. 하지만 아키텍처 탐색기클래스 뷰를 사용하여 그러한 호출을 찾을 수 있습니다. 그런 다음 아키텍처 탐색기에서 기존 그래프로 호출을 끌어올 수도 있고 아키텍처 탐색기 도구 모음에서 새 그래프를 생성할 수도 있습니다.

Visual Studio 솔루션에서 소스 코드의 특정 종속성 살펴보기

아키텍처 탐색기를 사용하여 시각화하려는 코드와 관계를 찾습니다. 또한 미리 정의된 쿼리를 사용하여 그래프를 생성할 수도 있습니다.

  1. 솔루션을 엽니다.

  2. 아키텍처 탐색기가 열려 있지 않은 경우 아키텍처 메뉴에서 을 가리킨 다음 아키텍처 탐색기를 클릭합니다.

  3. 아키텍처 탐색기의 첫 번째 열에 있는 Visual Studio에서 다음 뷰 중 하나를 클릭합니다.

    • 클래스 뷰 - 코드의 논리 계층 구조를 탐색하려는 경우

      네임스페이스, 형식, 메서드 등을 탐색하는 데 사용합니다.

    • 솔루션 뷰 - 코드의 실제 계층 구조를 탐색하려는 경우

      프로젝트, 소스 파일 등을 탐색하는 데 사용합니다.

  4. 다음 열에서 탐색하려는 항목을 선택합니다. 열의 모든 항목을 선택하려면 Ctrl+A를 누릅니다.

    다음 열의 기본 항목 및 관계 종류에 따라 선택한 항목과 관련된 항목이 해당 열에 표시됩니다.

    참고

    다른 종류의 항목 및 관계를 선택하려면 선택한 항목이 있는 열의 오른쪽에서 축소된 열을 확장합니다. 노드 탐색에서 원하는 항목 종류를 선택합니다. 아웃바운드 탐색 또는 인바운드 탐색에서 원하는 관계 종류를 선택합니다. 자세한 내용은 방법: 아키텍처 탐색기를 사용하여 코드 찾기를 참조하십시오.

  5. 원하는 모든 항목을 선택할 때까지 4단계를 반복합니다.

    참고

    그래프에 호출 종속성을 포함하려면 선택한 클래스에서 호출되는 모든 메서드를 찾아 선택합니다.

  6. 선택한 항목에서 새 그래프를 만들려면 아키텍처 탐색기 제목 표시줄 아래의 선택한 모든 노드에서 새 그래프 문서 만들기를 클릭합니다.

    Visual Studio에서 방향이 지정된 그래프 문서(.dgml 파일)를 만들어 엽니다.

    또는

    선택한 항목을 기존 그래프나 빈 그래프에 추가하려면 다음 단계를 수행합니다.

    1. 기존 그래프의 .dgml 파일을 열거나 빈 그래프를 만듭니다.

    2. 아키텍처 탐색기 제목 표시줄 아래의 현재 표시되는 그래프 문서에 선택한 노드 모두 추가를 클릭합니다.

      또는

      아키텍처 탐색기의 노드를 그래프로 끌어 옵니다.

빈 그래프 만들기

  1. 빈 그래프를 열려면 파일 메뉴에서 새로 만들기를 가리킨 다음 파일을 클릭합니다.

    또는

    솔루션 항목 폴더에 빈 그래프를 추가하려면 솔루션 탐색기에서 최상위 솔루션 노드를 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가를 클릭합니다.

  2. 설치된 템플릿에서 일반을 클릭합니다.

  3. 오른쪽 창에서 방향이 지정된 그래프 문서를 클릭하고 그래프 이름을 지정한 다음 추가를 클릭합니다.

그래프와 상호 작용할 수 있는 다른 방법을 자세히 알아보려면 빈 그래프에 표시되는 도움말 링크를 클릭합니다.

미리 정의된 쿼리를 사용하여 소스 코드 탐색

  1. 솔루션을 엽니다.

  2. 아키텍처 탐색기가 열려 있지 않은 경우 아키텍처 메뉴에서 을 가리킨 다음 아키텍처 탐색기를 클릭합니다.

  3. 아키텍처 탐색기의 첫 번째 열에 있는 저장된 DGQL 쿼리에서 폴더를 클릭합니다.

  4. 다음 열에서 만들려는 그래프 종류에 따라 아래 쿼리 중 하나를 클릭합니다.

    생성되는 그래프의 표시 내용

    클릭 대상

    해당 솔루션에서 참조하는 모든 어셈블리

    쿼리 결과에서 이러한 어셈블리 간의 종속성을 보여 주는 그래프를 생성할 수 있습니다.

    All Assembly References.dgql

    해당 솔루션에서 종속성 링크가 없는 모든 출력 어셈블리의 단순 목록

    All Output Assemblies.dgql

    선택한 어셈블리에 대한 표준 종속성 그래프를 생성하려면 다음 단계를 수행합니다.

    1. 다음 열에서 원하는 어셈블리를 선택합니다.

    2. 현재 열 오른쪽에서 축소된 작업 열을 클릭하여 확장합니다.

      참고참고
      작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다.
    3. 작업 열의 명령에서 표준 그래프를 클릭합니다.

    솔루션의 모든 프로젝트

    쿼리 결과에서 이러한 프로젝트 간의 참조를 보여 주는 그래프를 생성할 수 있습니다.

    All Project References.dgql

    솔루션에 포함된 모든 프로젝트의 단순 목록

    솔루션에 솔루션 폴더가 포함된 경우 이 목록은 아키텍처 탐색기에서 솔루션 뷰를 클릭할 때 표시되는 목록과는 다릅니다.

    All Projects.dgql

    솔루션의 모든 형식

    쿼리 결과에서 이러한 형식 간의 상속 관계를 보여 주는 그래프를 생성할 수 있습니다.

    Inheritance Graph.dgql

    결과는 다음 열에 단순 목록으로 표시됩니다. 이러한 노드 간에 링크가 있을 수도 있지만 아키텍처 탐색기에서는 이 링크가 표시되지 않습니다.

  5. 링크를 포함하여 그래프를 생성하려면 결과 열의 모든 항목에 대해 다음 단계를 수행합니다.

    1. 결과 열에서 Ctrl+A를 눌러 모든 항목을 선택합니다.

    2. Ctrl 키를 누른 상태에서 그래프의 현재 열에 있는 항목만 포함한 다음 아키텍처 탐색기 제목 표시줄 아래의 선택한 모든 노드에서 새 그래프 문서 만들기를 클릭합니다.

      Visual Studio에서 방향이 지정된 그래프 문서(.dgml 파일)를 만들어 엽니다.

컴파일된 코드를 간략히 살펴보기

  1. 빈 그래프를 만들거나, 기존 그래프의 .dgml 파일을 엽니다.

  2. Visual Studio 외부에서 .dll 파일 또는 .exe 파일을 그래프로 끌어 옵니다.

    참고

    솔루션 탐색기참조 폴더에서는 끌어 올 수 없습니다. Windows 탐색기에서 어셈블리를 끌어 오는 작업은 Windows 탐색기와 Visual Studio를 동일한 UAC(사용자 액세스 제어) 권한 수준에서 실행하는 경우에만 수행할 수 있습니다. 예를 들어 UAC가 설정되어 있고 Visual Studio를 관리자 권한으로 실행하는 경우에는 Windows 탐색기에서 끌기 작업이 차단됩니다. 이 문제를 해결하려면 UAC를 해제하거나 미리 정의된 쿼리를 사용하여 솔루션을 탐색합니다.

컴파일된 코드의 특정 종속성 보기

  1. 아키텍처 탐색기가 열려 있지 않은 경우 아키텍처 메뉴에서 을 가리킨 다음 아키텍처 탐색기를 클릭합니다.

  2. 첫 번째 열의 파일 시스템에서 파일 선택을 클릭합니다.

  3. 열기 대화 상자에서 .dll 파일 또는 .exe 파일을 찾아 선택하고 엽니다.

  4. 다음 열에서 어셈블리를 선택합니다. 열의 모든 항목을 선택하려면 Ctrl+A를 누릅니다.

    다음 열의 기본 항목 및 관계 종류에 따라 선택한 항목과 관련된 항목이 해당 열에 표시됩니다.

    참고

    다른 종류의 항목 및 관계를 선택하려면 선택한 항목이 있는 열의 오른쪽에서 축소된 열을 확장합니다. 작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다. 노드 탐색에서 원하는 항목 종류를 선택합니다. 아웃바운드 탐색 또는 인바운드 탐색에서 원하는 관계 종류를 선택합니다. 자세한 내용은 방법: 아키텍처 탐색기를 사용하여 코드 찾기를 참조하십시오.

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

    종속성 그래프를 만드는 데 사용할 항목

    수행할 단계

    어셈블리

    1. 어셈블리가 포함된 열의 오른쪽에서 축소된 작업 열을 클릭하여 확장합니다.

      작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다.

    2. 작업 열의 명령에서 표준 그래프를 클릭합니다.

    클래스 및 메서드

    1. 전체 클래스 및 메서드를 탐색하여 그래프에 포함할 모든 항목을 선택합니다.

    2. 새 그래프를 만들려면 아키텍처 탐색기 제목 표시줄 아래의 선택한 모든 노드에서 새 그래프 문서 만들기를 클릭합니다.

      Visual Studio에서 방향이 지정된 그래프 문서(.dgml 파일)를 만들어 엽니다.

      또는

      선택한 항목을 기존 그래프나 빈 그래프에 추가하려면 다음 단계를 수행합니다.

      1. 기존 그래프의 .dgml 파일을 열거나 빈 그래프를 만듭니다.

      2. 아키텍처 탐색기 제목 표시줄 아래의 현재 표시되는 그래프 문서에 선택한 노드 모두 추가를 클릭합니다.

        또는

        아키텍처 탐색기의 노드를 그래프로 끌어 옵니다.

일괄 처리를 위한 그래프 문서 생성

배치 모드에서 그래프 문서(.dgml 파일)를 생성하려면 GraphCmd.exe 명령줄 도구를 사용합니다. 예를 들어, 빌드가 완료될 때마다 해당 도구를 실행하여 빌드 간에 변경된 종속성을 찾을 수 있습니다.

이 도구는 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE 폴더에서 찾을 수 있습니다.

참고

GraphCmd.exe에서는 Visual Studio 솔루션이나 프로젝트 파일의 소스 코드가 아닌 어셈블리나 .dgml 파일에 대한 종속성 정보만 생성합니다.

GraphCmd.exe의 구문은 다음과 같습니다.

GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec

"DGQL_Statement" -output File_Name -path alias=path

다음 표에서는 GraphCmd.exe의 옵션에 대해 설명합니다.

-?

GraphCmd.exe의 도움말을 표시합니다.

-all

마지막 노드 집합만이 아닌 중간 쿼리 결과를 모두 포함합니다.

-exceptions

쿼리 예외를 그래프 문서(.dgml) 파일로 보고합니다.

-input File_Name

지정한 .dgml 파일을 처리합니다.

Visual Studio에서 더 쉽게 시각화할 수 있도록 크기가 큰 .dgml 파일을 후처리하고 필터링하는 데 유용합니다.

-query File_Name

지정한 DGQL(Directed Graph Query Language) 파일(.dgql)을 실행합니다.

자세한 내용은 다음을 참조하십시오.

-exec "DGQL_Statement"

지정한 DGQL 문을 실행합니다.

자세한 내용은 DGQL(Directed Graph Query Language) 이해를 참조하십시오.

-output File_Name

지정한 .dgml 파일을 출력합니다.

-path 별칭=경로

DGML 문서의 입력과 출력에 사용할 새 별칭을 지정합니다.

예를 들면 다음과 같습니다.

GraphCmd -output MyGeneratedGraph.dgml -path "MyPathAlias=C:\Program Files\..."

자세한 내용은 일반적으로 사용되는 경로에 대한 별칭을 참조하십시오.

설명

GraphCmd.ex는 Visual Studio 외부에서 실행되므로 .dgql 쿼리의 작업에 대한 지원이 제한됩니다.

-input, -query, -exec-path 옵션을 여러 번 지정할 수 있습니다.

일반적으로 사용되는 경로에 대한 별칭

일반적으로 사용되는 경로에 대한 별칭을 통해 .dgml 파일의 크기뿐만 아니라 파일을 로드하거나 저장하는 데 필요한 시간을 줄일 수 있습니다. 별칭을 만들려면 .dgml 파일의 끝에 <Paths></Paths> 섹션을 추가합니다. 다음과 같이 이 섹션에서 <Path/> 요소를 추가하여 경로의 별칭을 정의합니다.

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

.dgml 파일의 요소에서 별칭을 참조하려면 <Path/> 요소의 Id를 달러 기호($) 및 괄호(())로 묶습니다.

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

.dgml 파일 편집에 대한 자세한 내용은 방법: 그래프 문서 편집 및 사용자 지정을 참조하십시오.

DGQL(Directed Graph Query Language) 이해

DGQL은 DGML을 만드는 데 사용할 수 있는 간단한 쿼리 언어입니다. DGQL 문은 노드를 선택하면 다음 작업에 대한 입력이 생성되고 해당 출력은 다음 노드 선택에 대한 입력이 되는 방식으로 노드 선택과 작업이 교대로 반복되는 패턴을 따릅니다.

DGQL 문의 형식은 다음과 같습니다.

<node selection> / <action> / <node selection> / <action> / ...

다음 표에서는 노드를 선택하는 데 사용되는 DGQL 구문을 설명합니다.

*

모든 노드를 선택합니다.

+ "text"

"text"가 포함된 모든 노드를 선택합니다.

+ Id.Equals("text")

Id가 "text"인 모든 노드를 선택합니다.

+ Background.Contains("text")

Background 특성에 "text" 문자열이 포함된 값이 있는 모든 노드를 선택합니다.

+ "text1" + "text2" + ...

"text1" 또는 "text2"와 일치하는 모든 노드를 선택합니다.

+ MyProperty="True"

값이 "True"인 MyProperty라는 속성이 있는 모든 노드를 선택합니다.

- Label.Contains("text")

"text" 문자열이 포함된(Contains) Label 특성이 있는 노드를 제외한 모든 노드를 선택합니다.

+ Category.Is("MyCategory")

MyCategory라는 범주가 있거나 MyCategory에서 상속되는 모든 노드를 선택합니다.

작업은 Visual Studio에 등록된 DGML 데이터 공급자에 의해 제공되지만 아키텍처 탐색기에서 만든 쿼리를 저장하여 이 작업을 찾을 수 있습니다. 아키텍처 탐색기 사용에 대한 자세한 내용은 방법: 아키텍처 탐색기를 사용하여 코드 찾기를 참조하십시오.

다음 표에서는 선택한 노드에 대해 수행할 수 있는 직접 작업 예제에 대해 설명합니다.

작업 예제

설명

Microsoft.Contains

입력 노드에 포함된 모든 노드를 반환합니다. Contains를 다른 링크 범주로 바꿀 수 있습니다.

Microsoft.Open

입력 노드의 소스 코드를 엽니다.

참고참고
Visual Studio 내에서만 작동합니다.

Microsoft.AllOutBoundLinks

입력 노드에서 보내는 링크의 대상인 모든 노드를 반환합니다.

Microsoft.AllInboundLinks

입력 노드에 대한 링크의 소스 end인 모든 노드를 반환합니다.

Microsoft.Core.CreateGroupsByProperties

GroupByProperties 작업을 호출합니다.

Microsoft.AllNodes

현재까지 완성된 전체 그래프의 모든 노드를 반환합니다.

데이터 기반 작업에서는 입력 노드와 링크의 데이터만을 기반으로 항목을 선택합니다. 데이터 기반 작업을 사용하여 범주를 일치시킬 때는 상속된 범주가 포함됩니다. 다음 표에서는 데이터 기반 작업의 예제에 대해 설명합니다.

형식

설명

Node:Both:Category

Category 범주가 있으며 둘 중 한 방향을 가리키는 링크로 입력 노드와 연결된 모든 노드를 반환합니다.

Link:Both:Category

둘 중 한 방향을 가리키는 링크로 입력 노드와 연결되었으며 Category 범주가 있는 모든 노드를 반환합니다.

Link:Backward:Category

Category 범주가 있는 링크로 입력 노드를 가리키는 모든 노드를 반환합니다.

Link:Forward:Category

Category 범주가 있는 링크로 입력 노드에서 가리키는 모든 노드를 반환합니다.

  • 일반적으로 특정 입력 노드 집합에 대한 "기본" 작업이 있으며 아키텍처 탐색기에서 이 작업이 자동으로 선택됩니다. 동일하게 동작하게 하려면 빈 작업(//)을 사용합니다.

  • DGQL에서는 공백이 중요하지 않으므로 필요한 경우 쿼리 형식을 한 줄에 맞게 지정할 수 있습니다. 이는 GraphCmd에 –exec 옵션을 사용하는 경우에 유용합니다.

  • DGQL을 디버깅할 때 아키텍처 탐색기에서 "Execute Expanded" 작업을 사용하면 쿼리의 각 단계를 보고 예상과 다른 결과를 생성하는 단계를 찾는 데 유용합니다.

예제

다음 DGQL문은 다음 단계에서 설명된 쿼리를 수행합니다.

+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
  1. 우선 아키텍처 탐색기의 첫 번째 열에서 클래스 뷰 노드를 선택합니다.

  2. "Microsoft.Solution.ClassView" 작업 을 수행하여 솔루션의 모든 네임스페이스를 반환합니다. 

  3. 모든 네임스페이스를 선택하려면 *를 사용합니다.

  4. 둘 중 한 방향의 링크로 해당 네임스페이스에 연결된 CodeSchema_Class 범주의 노드를 모두 선택합니다. 이는 일반적으로 포함 링크입니다.

  5. 결과 클래스를 CodeSchemaProperty_IsPublic="True" 속성이 있는 클래스로만 필터링합니다.

기술적으로 "Microsoft.Solution.ClassView" 작업은 클래스 뷰 노드의 "기본" 작업이기 때문에 필요 없습니다. 따라서 작업을 //로 바꾸어 쿼리를 간소화하고 다음과 같이 한 줄로 형식을 지정할 수 있습니다.

+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")

참고 항목

작업

방법: 그래프 문서 저장, 공유 및 내보내기

개념

기존 코드 시각화

기타 리소스

방법: 종속성 그래프를 사용하여 코드 탐색

방법: 그래프 문서 찾아보기 및 탐색

방법: 그래프 문서 편집 및 사용자 지정