我有一個引用其他幾個項目的項目。它們都是使用x86作爲平臺構建的。這在我的桌面上編譯得很好。構建有效的csproj時,'AssemblyVersion'的值無效
在我的遠程VSO構建我總是得到錯誤
MSB3174:無效值「的AssemblyVersion」
當我編輯.csproj
文件,我看沒有錯。我究竟做錯了什麼?
VSO建立參數是乾脆: /噸:發佈/p:ApplicationVersion=$(Build.BuildNumber)
我有沒有問題
參數使用$(Build.BuildNumber)等項目關於VSO構建日誌中看到(剪斷,爲清楚起見):
"C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe" "[App_PATH].csproj"
/nologo
/nr:false
/t:"Clean"
/dl:CentralLogger,[*snip dll path]
/t:Publish
/p:ApplicationVersion=DEPLOY.[App_Name]_2016.11.09.16
/p:platform="x86"
/p:configuration="DV1"
/p:_MSDeployUserAgent="VSTS[*snip]"
編輯:我試圖從本地命令提示符下運行的MSBuild,我也得到相同的行爲。不要責怪VSTS或其任何設置信息。
我只是希望我知道是看我的應用程序來糾正它。
作爲構建的一部分,您是否有一個步驟來填充AssemblyVersion(通常在AssembliyInfo.cs中) - 也許使用不存在或構建服務器上不同的變量? – DaveShaw
您能向我們展示您認爲沒有問題的部分嗎?你用這個命令行參數覆蓋了這個問題嗎?(http://stackoverflow.com/questions/40223153/how-do-i-pass-a-version-information-to-msbuild-within-visual-studio-團隊服務)? –
構建之前有一個步驟來更新AssemblyInfo.cs文件中的AssemblyFileVersion,但是我a-驗證它正在正確地完成它的工作,並且b-我沒有它來運行構建,並得到相同的行爲。 AssemblyVersion的默認值:1.0.0。0和AssemblyFileVersion:1.0.0.0 –