2012-10-17 2 views
1

먼저 영어로 사과하고 싶습니다. 제 1 언어가 아닙니다. 저는 TFS Build (2010)의 멋진 세계에서 총 n00b입니다. 문제가 있습니다. 간단한 예제를 사용하여 설명해 드리겠습니다 (실제 상황은 훨씬 복잡합니다).app.config의 TFS 빌드 및 절대 경로

콘솔 응용 프로그램 "MyApp1"이있는 프로젝트가 있는데 내 컴퓨터의 해당 위치는 "D : \ MyProjets \ MyApp1"입니다. emailTemplate.html이라는 파일을 포함하여 리소스 만 포함 된 다른 프로젝트 "Res"가 있습니다.

내 프로젝트 "MyApp1"이이 파일을 사용합니다. 따라서 "App.config"파일에는이 리소스의 경로를 저장하는 키가 있습니다. "D : \ MyProjets \ Res \ emailTemplate.html"

마지막으로 해당 응용 프로그램 "MyApp1"에 대한 테스트가 있습니다. 이 테스트는 전자 메일이 전송되었는지 검사합니다. 전자 메일 "MyApp1"을 보내려면 "emailTemplate.html"파일이 필요하며 구성 파일의 키를 사용하여 해당 파일을 찾습니다.

내 컴퓨터에서 테스트를 실행할 때 : 괜찮습니다.

그러나 TFS Build로 솔루션을 빌드하면 테스트가 실행될 때이 리소스에 문제가 있습니다. 빌드하는 동안 소스 파일은 디렉토리 (예 : "D : \ Build \ 1 \ My build projet \ Sources \ MyProjets \ Res")에 복사되므로 "MyApp1"은 "D"에서 "emailTemplate.html"을 찾습니다. : \ MyProjets \ 해상도 \ emailTemplate.html "(구성 파일) 물론 그것을 찾을 수 없습니다

을 이미 내 프로젝트가 작동하지 않을 것을 알고

어떻게해야 어떻게.? 리소스를이 방법으로 변경했지만 지금은 변경하기가 거의 불가능합니다. 이후로 우리 회사에서 일한 시간이 길기 때문에 거의 불가능합니다 ...

BuildProcessTemplate을 수정하여 빌드 서버를 Res 프로젝트에서 getLatest를 정확히 실행합니다. ~하고 싶다. 그러나 그것이 좋은 생각인지, 아니면 가능할 지 모르겠다. ...

도움을 많이 주셔서 감사합니다! :)

답변

1

"Res"프로젝트 디렉토리를 작업 영역에 포함하도록 빌드 정의를 편집하십시오. 기본 프로세스 템플릿을 사용하는 경우 각 빌드에서 자동으로 다운로드/업데이트해야하며 테스트에서 상대 경로를 사용하는 한 괜찮습니다.

+0

상대 경로를 사용하는 동안 여전히 문제가 있습니다. 따라서 프로세스 템플릿 파일을 수정했습니다. '작업 공간 가져 오기'작업 직후에 지정된 디렉터리에 필요한 리소스를 복사하는 작업을 추가했습니다. – remsrock