common.targets 파일을 팀 빌드에서 사용하려는 일부 공용 msbuild 대상과 함께 설정하려고하므로 내 TFSBuild.proj 파일로 가져옵니다. 나는 이것을 달성하는 가장 좋은 방법이 무엇인지 궁금합니다. 각 TFSBuild.proj 파일 바로 옆에 common.targets를 저장해야하며 각 팀 빌드마다 대상 파일이 중복되거나 다른 방법이 있습니까? 차라리 각각의 빌드 머신에 타겟 파일을 두지는 않을 것입니다.팀 빌드를위한 공통 대상은 어디에 저장해야합니까?
답변
Team Build는 TFSBuild.proj가 호출되기 전에 부트 스트 래퍼 단계를가집니다. 동일한 디렉터리에있는 TFSBuild.proj 및 다른 파일 만 소스 제어에서 다운로드됩니다. 당신이 소스 제어하에 당신의 목표 파일을 원하는 경우 그래서, 당신은 TFSBuild.proj와 같은 위치에 넣을 필요가
나는 그것을 시도하지 않은,하지만 당신은 넣을 수있을 네트워크 공유의 대상 파일을 가져 와서 unc 공유를 사용하여 가져옵니다.
<Import Project="\\anothermachine\share\something.targets"/>
그러나 그런 뭔가 빌드 계정과 바탕 화면을 실행하는 모든 사람이 해당 네트워크 공유에 액세스 할 수 빌드하는 것이 필요합니다.
일반적인 .targets 파일의 목표는 스크립트의 중복을 줄이는 것입니다. 소스 제어에서이 파일의 사본이 여러 개있는 경우 .exe 경로를 변경하기 위해 파일을 변경해야 할 때 어떻게됩니까? 개인적으로, 나는/다른 모든 빌드 스크립트가 참조 할 수있는 공통 파일을위한 별도의 위치를 선호한다. 유일한 단점은이 파일의 경로를 하드 코딩 할 가능성이 높다는 것입니다.
$ Volume \ Program Files \ MSBuild의 MS 대상과 함께 저장할 수 있습니다. 이 작업의 이점은 기본 제공되는 "$ (MSBuildExtensionsPath) \ Path \ To \ Your \ Targets"메타 데이터를 사용하여 상대 경로를 만들 수 있다는 것입니다.
(+1) 문서에 따르면 "사용자 지정 대상 파일을 넣을 수있는 유용한 곳"인 MSBuildExtensionsPath를 인식하지 못했습니다. http://msdn.microsoft.com/en-us/library/ms164309.aspx – Pedro
소스 제어에있는 일반적인 위치에 넣으십시오. 대상을 사용하기 전에,이처럼 TFSBuild.proj 파일에서 GET을 수행
이<PropertyGroup>
<!--Path to the TFS Command Line (used for checkin and out)-->
<TxTf>"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\tf"</TxTf>
<WorkingDirectory>C:\YourPathHere<WorkingDirectory>
<CustomProjTFSDir>"$/YourProj/YourCustomProjPath"</CustomProjTFSDir>
</PropertyGroup>
<Exec WorkingDirectory="$(WorkingDirectory)"
Command="$(TxTf) get $(CustomProjTFSDir)"/>
이 작업의 핵심은 설정에 사용자 정의 물건을 가리키는 빌드 에이전트 사용자의 작업 공간입니다. 이 디렉토리는 일반 빌드와 동일한 공간에 있어서는 안됩니다.
Vaccano
어디에서 Exec 호출을 했습니까? Target에 넣으면 가져 오기가 먼저 시도되고 실패합니다. 루트 아래에 직접 두는 경우
@ Elezar - 5 년 전 나는 당신의 질문에 대답 할 수있었습니다. 나는 오랫동안 MS Build를 많이하지 않았다. 나는 지금 기억하지 않는다. 죄송합니다. – Vaccano
좋아, 나는이 대답이 얼마나 오래된 지 생각해 보면 오래되었다. 그래도 응답 주셔서 감사합니다! – Elezar
- 1. 데이터베이스 파일은 어디에 저장해야합니까?
- 2. Zend_Navigation 컨테이너는 어디에 저장해야합니까?
- 3. 라이센스 파일을 어디에 저장해야합니까?
- 4. 프로젝트에서 이미지를 어디에 저장해야합니까?
- 5. IIS 파일을 어디에 저장해야합니까?
- 6. 민감한 변수는 어디에 저장해야합니까?
- 7. Eclipse 타사 플러그인은 어디에 저장해야합니까?
- 8. Windows에 실행 파일은 어디에 저장해야합니까?
- 9. 양식 필드 '힌트'데이터는 어디에 저장해야합니까?
- 10. iPhone에서 선택한 이미지는 어디에 저장해야합니까?
- 11. 응용 프로그램 데이터는 어디에 저장해야합니까?
- 12. AfterBuildCompiler (msbuild) 대상은 어디에 정의되어 있습니까?
- 13. ASP.NET 응용 프로그램에서 구성 정보를 어디에 저장해야합니까?
- 14. 사진을 어디에 저장해야합니까? 파일 시스템 또는 데이터베이스?
- 15. 아이폰 세션 관련 정보는 어디에 저장해야합니까?
- 16. DI 컨테이너에 대한 참조는 어디에 저장해야합니까?
- 17. 파일에서 가져온 데이터를 어디에 표시하거나 저장해야합니까?
- 18. iPhone 앱 : 설정 파일은 어디에 저장해야합니까?
- 19. 릴리스 빌드를위한 dSYM 파일
- 20. Right_aws ruby gem : AWS 액세스 키와 비밀 키는 어디에 저장해야합니까?
- 21. 사용자가 업로드 한 이미지는 어디에 저장해야합니까? 자바 웹 응용 프로그램
- 22. UAC를 사용하는 LocalSystem과 일반 사용자간에 공유 리소스를 어디에 저장해야합니까?
- 23. Visual Studio 솔루션에 참조 된 DLL 바이너리를 어디에 저장해야합니까?
- 24. Asp.Net mvc 인증, 사용자 정의 세션 키는 어디에 저장해야합니까?
- 25. 컴퓨터 와이드 라이센스/컴퓨터 전체 설정은 어디에 저장해야합니까?
- 26. PHP 응용 프로그램에서 데이터베이스 사용자 이름과 암호를 어디에 저장해야합니까?
- 27. VMWare 서버 (또는 가상 시스템)의 데이터를 어디에 저장해야합니까?
- 28. MVP 발표자는 ASP.NET 웹 응용 프로그램에 어디에 저장해야합니까?
- 29. Symfony 프로젝트에서 내 css 및 js 파일을 어디에 저장해야합니까?
- 30. PHP : 정보 및 경고 메시지의 텍스트는 어디에 저장해야합니까?
여기에 몇 가지 좋은 답변이 있습니다. 왜 그들이 일하지 않거나 하나를 받아들이지 않는지에 대해 언급하지 않으려면 ..... – Vaccano
당신 말이 맞습니다. 끝냈어. 귀하의 답변에 감사드립니다. – Fadeproof