2012-02-15 2 views
5

모든 .xml 및 .pdb 파일을 찾아서 빌드 출력 폴더에서 삭제하고 싶습니다. 한 번에 하나씩이 작업을 수행 할 수 있지만 일치하는 파일을 찾으면이 작업을 수행 할 수 있습니다.TFS 일치하는 파일 찾기 OR

+1

MSBuild 스크립트에서 수행하는 방법에 대해 묻는 중입니까? –

답변

20

TFS 빌드 프로세스 템플릿의 일부로이 작업을 수행하는 경우 몇 가지 작업과 변수가 필요합니다. 나는 그것을 통해 당신을 말할 수 있도록 최선을 다할 것입니다. 빌드가 완료된 후

  1. 어딘가 순서 만들기 - 난 그냥 파일이 드롭 위치에 복사 된 곳 후 광산을 넣어. String.Format("{0}\**\*.xml;{0}\**\*.pdb", BuildDetail.DropLocation) : 변수를 만들기
  2. IEnumerable<String>
  3. 이 순서에 FindMatchingFiles 활동을 추가하고 MatchPattern
    • 을 다음과 같이 속성을 설정 유형의 matchedFiles라는 순서에 범위. Drop Folder를 청소하지 않을 경우 BinariesDirectory을 사용하도록 변경할 수 있습니다.
    • 결과는 : matchedFiles
  4. 시퀀스에 를 ForEach 활동을 추가하고 다음과 같이 속성을 설정합니다
    • 유형 : String합니다.
      • 은 TargetType : System.IO.File
      • methodName로 : Delete
      • 에서
      • 새로운 InvokeMethod 활동을 추가하고 다음과 같이 속성을 설정 matchedFiles
      • 의 Foreach file 매개 변수 : 방향 : In 유형 : String 값 : file
    이제

모든 파일이 InvokeMethod 단계를 찾아 프로세스 비주얼 스튜디오와 템플릿 XAML을 열고 빌드 로그에서 삭제를 피하기 위해, 다음 특성을 XAML에 추가하십시오.

mtbwt:BuildTrackingParticipant.Importance="None" 
+2

+1에 대한 mtbwt : BuildTrackingParticipant.Importance = "없음"팁. 감사. – pantelif

+1

@DaveShaw, 멋진 답변입니다. 내가 100 번 upvote 수 있다면. 감사! – Matt

+0

나는 이것을 6 개월 전에 발견했으면 좋겠다. 감사합니다, DaveShaw! – efisher

관련 문제