우리 회사는 현재 Team Build 2010을 설정 중이며 워크 플로 활동을 사용하여 현재 구축중인 솔루션에 대한 정확한 로컬 경로를 검색하려고합니다. 나는이 가치를 얻는 방법을 찾지 못했고, 어떻게 (사용자 정의 활동을 작성하지 않고) 어떻게 알 수 있습니까?솔루션 경로 검색 중?
서버 항목에서 변환 작업을 사용할 수 있으므로 서버 경로 또는 로컬 경로 중 하나만 있으면 충분합니다 (예 : $/TeamProject/Branch/OurProject
또는 C:\TeamBuild\src\path\to\branch\OurProject
).
이 경로가 필요한 이유는 버전 정보 파일을 업데이트하기위한 것이므로 현재 솔루션을 빌드 할 때만 수행해야하며 파일 이름도 동일해야합니다 (예 : AssemblyInfo.cs).
이 similar question에서 솔루션은 매개 변수를 정의하는 것이지만이 정보는 빌드되는 솔루션에만 해당되며 일부 외부 경로가 아니기 때문에이 정보를 검색 할 수 있기를 바랍니다.
실제로 필요한 정보를 찾았습니다. 각 작업 폴더는 Workspace.Folders (목록의 각 항목에 대한 LocalItem 속성)에서 검색 할 수 있습니다. 건물 이전에 정보가 필요했습니다. 그러나이 정보는 유사한 문제 (NUnit 테스트 용 테스트 어셈블리 정의)에 대해 나에게 매우 유용하다는 것이 입증되었습니다. –
솔루션이 아닌 프로젝트를 빌드하는 경우이 방법은 실패합니다. 'localProject' 변수는이 시나리오의 솔루션 파일이 아닌 프로젝트 파일의 경로 (예 : * .csproj)로 설정됩니다. TFS 2012의 –
나는 "SourcesDirectory"를 사용했다. "SourcesDirectory"는 컴파일 할 프로젝트 목록을 반복 할 때 해당 항목의 폴더를 보여줍니다. "InvokeProcess nuger restore"작업을 시도 할 때 SourcesDirectory 속성이 도움이되었습니다. – Neville