VSTS를 통해 클라우드에서 빌드를 수행하고 있습니다. 이 경우 내가 클릭 한 번 응용 프로그램을 제작 및 제공하고 MSBuild를 인수 :Visual Studio Team Services 내에서 MSBuild에 버전 정보를 전달하는 방법
/target:publish
/property:PublishUrl=http://somurl.com/somepath/myapp.application
/property:ApplicationVersion="1.$(Year:yyyy).0.0"
정말 마지막이 될 것을 원하는 :
이/property:ApplicationVersion="1.$(Year:yyyy).$(DayOfYear).$(Build.BuildNumber)"
그러나 하드 코딩 된 문자열 아무것도하지만 나를 준다 :
C : \의 Program Files (x86) \ MSBuild에서 14.0 \ 빈 \의 Microsoft.Common.CurrentVersion.targets (3506,5) \ : 오류 MSB3174 : 'AssemblyVersion'에 대한 값이 잘못되었습니다.
하드 코딩 된 버전 번호 (예 : "1.0.9.99")를 사용하면 정상적으로 작동합니다.
$ (Build.BuildNumber)가 실패 할 것으로 추측합니다. 참고 :이 값에는 공백 또는 다른 유효하지 않은 레이블 문자가 포함될 수 있습니다. 이러한 경우 레이블 형식이 실패합니다. – Daniel
로그를 보면 MSBuild 명령 줄에서 변수가 실제 값으로 바뀌 었음을 알 수 있습니다. 이는 잘못된 점에 대한 힌트를 줄 수 있습니다. – DaveShaw
DaveShaw가 말했듯이, 실제 생성되는 것을 보는 것은 매우 도움이 될 것입니다. 그러나 내가 추측해야한다면, $ (Build.BuildNumber)가 $ (Rev : .r)이되었습니다. –