복잡한 Windows Workflow에서 탐색

Visual Studio Ultimate에서 다양한 작업을 수행하려면 구조가 복잡하고 많이 중첩된 요소가 포함되었을 수 있는 Windows Workflow 파일을 수정해야 합니다. 예를 들어 다음과 같은 종류의 파일은 탐색하고 수정하기가 어려울 수 있습니다.

  • 기본 템플릿(DefaultTemplate.xaml)을 기반으로 하는 Team Foundation Build의 사용자 지정 템플릿

  • 기본 템플릿(LabDefaultTemplate.xaml)을 기반으로 하는 Visual Studio Lab Management의 사용자 지정 템플릿

이러한 파일로 작업하는 방법에 대해 설명하는 일부 항목에서는 약식 구문으로 Windows Workflow 파일의 특정 요소 위치에 대해 설명합니다. 이 항목에서는 이 구문을 사용하여 작업할 특정 요소를 찾는 방법에 대해 설명합니다.

항목 내용

  • 예제: "프로젝트에 대해 MSBuild 실행"

  • Workflow Designer를 사용하여 워크플로 요소 찾기

  • XML 편집기를 사용하여 워크플로 요소 찾기

예제: "프로젝트에 대해 MSBuild 실행"

예를 들어 빌드 프로세스에서 MSBuild를 통해 코드를 컴파일하는 방법을 변경하기 위해 DefaultTemplate.xaml의 복사본을 수정하여 사용자 지정 빌드 프로세스를 만들 수 있습니다. 이렇게 변경하려면 Run MSBuild for Project 요소의 속성을 수정해야 합니다.

이 요소를 수정하려면 먼저 14개의 컨테이너 요소를 탐색하여 워크플로 구조에서 해당 요소를 찾아야 합니다. 예를 들어 이 작업을 다루는 항목에서는 다음과 같이 구조를 노출합니다.

  1. 시퀀스(Sequence) >

  2. 에이전트에서 실행(AgentScope) >

  3. 변경 집합과 작업 항목 컴파일, 테스트 및 연결 시도(TryCatch [Try]) >

  4. 시퀀스(Sequence) >

  5. 변경 집합과 작업 항목 컴파일, 테스트 및 연결(Parallel) >

  6. 컴파일 및 테스트 시도 TryCatch [Try] >

  7. 컴파일 및 테스트 Sequence >

  8. For Each BuildSettings.PlatformConfigurations의 구성 ForEach [Body] >

  9. 구성에 대해 컴파일 및 테스트 Sequence >

  10. If BuildSettings.HasProjectsToBuild If [Then] >

  11. For Each BuildSettings.ProjectsToBuild의 프로젝트 ForEach [Body] >

  12. 프로젝트 컴파일 시도 TryCatch [Try] >

  13. 프로젝트 컴파일 Sequence >

  14. 프로젝트에 대해 MSBuild 실행 MSBuild

이 구문은 찾아야 하는 요소가 포함된 중첩 구조를 보여 줍니다. 각 요소는 자신을 포함하는 요소 뒤에 나옵니다. 예를 들어 Run MSBuild for Project 요소는 Try to Compile the Project 요소의 Try 블록에 포함된 Compile the Project 요소에 포함되어 있습니다.

Workflow Designer를 사용하여 워크플로 요소 찾기

Workflow Designer를 사용하는 경우 다음과 같은 측면을 고려해야 합니다.

  • 장점: 워크플로를 중단시키는 스키마 오류를 만들 수 있는 문제에 대해 우려할 필요가 없습니다.

  • 장점: 코드를 편집하는 대신 시각적 모델로 작업하는 것을 선호하는 경우 이 방법이 더 편안할 수 있습니다.

  • 단점: 일부 작업은 텍스트 기반 편집기를 사용하는 경우보다 Workflow Designer를 사용하는 경우 더 오래 걸릴 수 있습니다.

  • 단점: Workflow Designer를 사용하면 XML 편집기를 사용하여 편집하는 경우보다 워크플로 파일이 커질 수 있습니다.

Workflow Designer에서 Windows Workflow 파일을 열려면 소스 제어 탐색기를 열고 .xaml 파일이 포함된 폴더를 찾은 다음 두 번 클릭합니다.

Workflow Designer를 사용하여 Run MSBuild for Project 요소를 찾으려면 이전 예제의 상위 수준에 중점을 두어 시작합니다.

  1. 시퀀스(Sequence) >

  2. 에이전트에서 실행(AgentScope) >

  3. 변경 집합과 작업 항목 컴파일, 테스트 및 연결 시도(TryCatch [Try]) >

  4. 시퀀스(Sequence) >

  5. ...

Workflow Designer에서 Process 요소의 완전히 축소된 뷰를 봐야 합니다. Workflow Designer 창의 맨 위에서 Process를 클릭한 다음 모두 축소를 클릭합니다. 이 창은 이제 다음 뷰와 유사합니다.

완전히 축소된 기본 템플릿의 최상위 수준

찾는 요소의 탐색을 시작하려면 Run on Agent 요소에서 다음 단계 중 하나를 수행합니다.

워크플로 요소로 이동하는 두 가지 방법

보려면 두 번 클릭을 두 번 클릭하는 경우 결과는 다음 뷰와 유사합니다.

격리 상태에서의 에이전트에서 실행 작업

이 뷰에서는 작업할 요소 안에 직접 주의를 집중하기가 더 쉽지만 더 넒은 컨텍스트는 볼 수 없습니다.

확장확장 아이콘을 대신 클릭하는 경우 결과는 다음 뷰와 유사합니다.

컨텍스트에서의 에이전트에서 실행 작업

이 뷰에서는 더 넓은 컨텍스트가 표시되므로 때때로 유용할 수 있습니다. 그러나 구조를 더 깊이 탐색하면 뷰의 복잡도와 크기가 사용자를 당황시킬 정도가 될 수도 있습니다.

두 방법 중에서 작업에 가장 적합한 방법을 사용합니다. 목록의 맨 위에서 시작하고 찾는 요소에 도달할 때까지 각 요소를 통과하며 작업하는 방식으로 패턴을 반복합니다.

XML 편집기를 사용하여 워크플로 요소 찾기

XML 편집기와 같은 텍스트 기반 편집기를 사용하는 경우 다음과 같은 측면을 고려해야 합니다.

  • 장점: 특정 작업을 더 빠르고 효율적으로 완료할 수 있습니다. 예를 들어 XAML의 특정 부분을 빠르게 찾고 바꾸거나 전역 변경을 신속하게 수행할 수 있습니다.

  • 장점: 코드로 작업하는 것이 편안한 경우 이 방법을 선호할 수 있습니다.

  • 단점: 워크플로를 중단시키는 스키마 오류를 만들 위험이 있습니다.

XML 편집기를 사용하여 워크플로 요소를 찾으려면

  1. 소스 제어 탐색기에서 워크플로가 포함된 폴더를 엽니다.

  2. 창의 위쪽에서 로컬 경로 옆에 나타나는 링크를 클릭합니다.

    Windows 탐색기가 나타나고 폴더의 내용이 표시됩니다.

    참고

    매핑되지 않음 링크가 소스 제어 탐색기 위쪽의 로컬 경로 레이블 옆에 나타나는 경우 이 링크를 클릭하여 서버 디렉터리를 로컬 작업 영역의 적절한 디렉터리에 매핑합니다.

  3. Windows 탐색기에서 Shift 키를 누른 상태로 워크플로가 포함된 .xaml 파일을 마우스 오른쪽 단추로 클릭합니다. Shift 키를 놓은 다음 경로로 복사를 클릭합니다.

  4. Visual Studio 2010에서 파일 메뉴를 열고 열기를 클릭한 다음 파일을 클릭합니다.

  5. 파일 열기 대화 상자에서 파일 이름 상자에 커서를 놓은 다음 Ctrl+V를 눌러 경로를 붙여 넣습니다.

  6. 열기 단추 옆의 아이콘을 클릭한 다음 연결 프로그램을 클릭합니다.

  7. 연결 프로그램 대화 상자에서 XML(텍스트) 편집기를 클릭합니다.

    항상 XML(텍스트) 편집기를 사용하여 Windows Workflow 파일과 같은 .xaml 파일을 편집하려면 기본값으로 설정을 클릭합니다.

    확인을 클릭합니다.

    워크플로의 내용이 XML(텍스트) 편집기 창에 나타납니다.

  8. XML(텍스트) 편집기에서 Ctrl+F를 누르는 등의 방법으로 요소를 찾은 다음 원하는 대로 변경합니다.

    중요

    변경 내용이 워크플로 스키마의 규칙을 위반하지 않도록 해야 합니다. 이렇게 하지 않으면 워크플로가 실패하거나 올바르지 않게 작동할 수 있습니다.

추가 리소스

Microsoft 웹 사이트의 다음 항목에서 추가 정보를 찾을 수 있습니다.

참고 항목

개념

사용자 지정 빌드 프로세스 템플릿 만들기 및 작업

팀 프로젝트에 사용할 수 있도록 작업 영역 만들기