2014-02-12 3 views
0

이것이 워크 플로 파일에 대한 일반적인 질문이지만 TFS 빌드 워크 플로 시스템에 범위를 지정할 것입니다..Net Workflow XAML 파일 확장에 대한 대안

TFS에서 템플릿으로 팀 프로젝트를 만들면 내부에서 프로젝트의 빌드를 정의하는 데 사용할 수있는 기본 빌드 템플릿이 포함 된 폴더가 자동으로 만들어집니다.

몇 우리는 이미 표준 파일을 변경하고 있습니다 우리가 instace에 대한 싶습니다 일부 :

  • 우리가 .CAB 설치 프로젝트 솔루션과이를 컴파일를 확인하기 위해 템플릿을 사용자 정의
  • 우리가 자동으로 빌드 후 웹 응용 프로그램을 배포 할 수있는 옵션을 추가 (MSBuild에서이 .vdproj 파일을 지원하지 않습니다) 빌드 서버에 로컬 비주얼 스튜디오 2008 설치를 사용
  • 우리가하고자하는 것은 지금 official Release Management tool은 (이전에 소유하고 사용을 시작합니다 InRelease에 의해) 우리 릴리스를 관리합니다. 이 도구에는 TFS 빌드에서 릴리스를 트리거하는 기능이 있으며 다시 빌드 워크 플로 전체에 특정 단계를 추가해야합니다.

마지막으로 최신 프로젝트의 최신 기능을 사용하도록 워크 플로를 업데이트하고 싶습니다. 템플릿. 모든 것이 과식 모든 것을 가진 대규모 .xaml 파일에 포함되어 있기 때문에

이것은, 유지 보수 모두 매우 어렵다.

있나요 정상적으로 바람직 영향을주지 않고, 모듈 방식으로 XAML 워크 플로우를 확장하는 방법 원래 xaml? 여기에 decorator pattern과 같은 것을 생각하고 있습니다. 원래 구현을 수행하지 않고 워크 플로의 특정 단계간에 동작을 추가 할 수 있습니다.

전체 빌드 시스템이 단계 (컴파일, 테스트 등)으로 분할 된 여러 워크 플로우로 분할 된 경우 조금 더 관리하기 쉽지만이 경우 상황을 업데이트하는 것이 매우 어려워지고 있습니다.

예를 들어, 회사의 다른 프로젝트가 의 일부가 추가 된 경우이 전부가 아닌 경우 어떻게해야합니까? 템플리트를 변경하고 나중에 다른 것을 추가하면 나중에 사용하기를 원한다면 어떻게 될까요? 이상적으로는 외부 작업 파일에서 새 작업을 기존 워크 플로에 '연결할'수 있습니다.

작업 흐름 파일을 업데이트/작성하는 데 대한 자습서에서 언급 한 내용을 본 적이 없으므로이를 수행 할 방법이 없다고 가정하고 있지만 잘못된 것으로 입증되기를 바랍니다.

답변

1

새 워크 플로를 만들고 기본 제공 워크 플로를 호출 할 수 있습니다. 당신이 힘든 시간이있는 경우,로드 내장 된 XAML

private Activity createActivityFromXml(string xml) 
{ 
    if (!string.IsNullOrEmpty(xml)) 
    { 
     return ActivityXamlServices.Load(new StringReader(xml)); 
    } 
    return null; 
} 

당신이 (기본 내장 된 워크 플로우 인)이 활동을했다면, 당신은 새로운 워크 플로를 만들 수 있으며, 포함 활동을 만들 수 있습니다 이 활동. 이렇게하면 기본 워크 플로 전후에 다른 활동을 추가 할 수 있습니다.

EDIT : 위의 그림과 같이 코드로 활동을 생성하는 것이 가장 최근의 옵션이어야합니다. Visual Studio에 기존 xaml을 넣고 직접 사용할 수 있다고 생각합니다. 즉 비주얼 편집기에서 직접 사용할 수 있습니다. 새로운 wf.

+0

Google의 확장은 워크 플로의 특정 지점에서 적용되기 때문에 매우 흥미롭지 만 여전히 유용하지는 않습니다. 시작 또는 끝 부분이 아니라 워크 플로의 특정 지점에 적용됩니다. 나는 이것이 유용하다는 것을 알기 때문에 이것을 계속 염두에 두겠다. – julealgon