msbuild 또는 다른 방법을 사용하여 현재 빌드에서 변경된 프로젝트를 감지하고 해당 프로젝트의 AssemblyInfo.cs에서 FileAssemblyVersion 특성을 업데이트하는 방법이 있습니까?변경 사항이있는 프로젝트 만 FileAssemblyVersion을 가져 오는 MSBuild 작업
답변
증분 [get 및] 컴파일을 설정했다면 다음 단계는 MSBuild 시퀀스에 연결하는 것입니다. FrameworkDir\Microsoft.Common.Targets
을 살펴보십시오. 문제는 일들이 이런 방식으로 작동하도록 설정되어 있지 않다는 것입니다. 즉, _TimestampBeforeCompile
과 _TimeStampAfterCompile
단계가 있다는 것입니다. 이는 단지 뭔가가 컴파일 될 때 선험적으로 결정할 수 없다는 것을 보여줍니다. 이론적으로 [언어 관련] CoreCompile [예 : Microsoft.CSharp.targets]에서 문제가 될 수 있지만 문제는 해당 코드가 실행될 것인지를 결정할 때와 동일하게 Inputs
이 필요하다는 것입니다. 잘라내어 붙여 넣기를 많이하고 시스템 파일과 동기화를 유지해야합니다. 다른주의 사항은 _ComputeNonExistentFileProperty
표적의 맨 위에있는 주석에 기록되어 있습니다.
그래서 시퀀스의 일부를 아주 깊이 수정하지 않고 (예 : 사용자가 _TimeStampAfterCompile
의 컴파일이 감지되면 두 번째 컴파일을 강제 실행하는 '게시 빌드'비트에 후크하기. 쉽지는 않지만 권장되거나 지원되는 방법이 없습니다.
AssemblyFileVersion
(당신은 FileAssemblyVersion
을 참조하십시오.)은 단지 자원으로 컴파일 한 후 수정하기 쉽습니다. . 그러나 나는 당신이 정말로 그것과 동일한 방법으로 사실 후에 비틀 수없는 AssemblyVersion
모두를하는 것에 대해 이야기하고 있다고 가정합니다.
- 1. 커밋되지 않은 변경 사항이있는 작업 영역에 변경 사항 병합
- 2. MSBuild 가져 오기를 사용하여 프로젝트 모듈화
- 3. msbuild 사용자 지정 작업
- 4. 솔루션 파일에서 현재 구성을 가져 오는 MSbuild
- 5. 오픈 소스 msbuild 작업
- 6. MSBuild XmlMassUpdate 작업
- 7. 종속성이있는 사용자 지정 MSBuild 작업
- 8. 외부 MSBuild 파일을 실행하는 MSBuild 작업
- 9. MSBuild 에코 작업?
- 10. Albacore msbuild 작업 문제
- 11. _PublishedWebsites에서만 TFS에서 MSBuild 작업 수행
- 12. MsBuild : 참조를 ProjectReference에서 참조로 변경
- 13. 커밋되지 않은 변경 사항이있는 Mercurial 리포지토리를 복사하십시오.
- 14. 임시 변경 사항이있는 읽기 전용 sqlite 데이터베이스
- 15. 커밋되지 않은 변경 사항이있는 저장소의 Git 아카이브
- 16. Ajax 채팅 - 변경 사항이있는 경우에만 업데이트
- 17. 자바 프로젝트 (이클립스)를 가져 오는 방법
- 18. T4에서 프로젝트 디렉터리를 가져 오는 방법은 무엇입니까?
- 19. SaveFileDialog.FileName에서 디렉터리 이름 만 가져 오는 방법
- 20. 문자열에서 NUMBER 만 가져 오는 Regex
- 21. 파일 이름 만 가져 오는 방법은 무엇입니까?
- 22. 가져 오기가 실패하면 MSBuild 프로젝트가로드되지 않습니까?
- 23. 웹 배포 프로젝트/MSBuild - TempBuildDir
- 24. 사용자 지정 작업에서 msbuild 속성의 값을 가져 오는 방법은 무엇입니까?
- 25. CVS - 최신 변경 내용 만 가져 오기
- 26. MSBuild 조건부 가져 오기
- 27. Silverlight 단위 테스트를위한 MSBuild 작업
- 28. MSBuild dll 버전을 읽는 작업
- 29. MsBuild 작업 GenerateDeploymentManifest.CreateDesktopShortcut이 작동하지 않습니다.
- 30. MSBuild ExtensionPack Sql2008.Database 작업
당신의 질문은 매우 리가 있습니다. MSBuild와 관련하여, 실제로 묻는 것은 "소스 컨트롤 서버에 완전히 의존하는"일정 기간의 변경 집합을 프로그래밍 방식으로 식별하는 방법 "입니다. 따라서 원하는 소스 제어 시스템을 모른 채 아무도이를 응답 할 수 없습니다 이 정보를 쿼리합니다. –
TFS 2008을 사용 중입니다. 하늘에 떠있는 파이가 다음 줄에 표시됩니다. sln의 컴파일을 수행하는 대상을 호출하기 전에 파일이있는 프로젝트의 FileAssemblyVersion을 업데이트하는 MSBuild 사용자 지정 작업을 호출합니다 변경되어 현재 빌드를 트리거합니다. 분명히, 우리는 여기서 지속적인 통합 설정에 대해 이야기하고 있습니다. –