簡體   English   中英

從TFS MSBuild項目內部引用BuildNumber

[英]Referencing the BuildNumber from a inside a TFS MSBuild project

我正在嘗試建立一個TFS構建。 我已自定義默認的TFS2013工作流程,以在MSBuild命令之前獲取BuildDetail。 但是,我現在得到一個構建錯誤:

MSBUILD:錯誤MSB1008:只能指定一個項目。 開關:不

對於開關語法,鍵入“ MSBuild / help”

我的命令行參數如下:

/target:publish;/p:PublishDir=\\Server1\PublishDir\;PublishingURL=https://www.website.com

我已經玩過這個游戲了,因為我在這里讀過幾個相同的問題,它們指向空格,引號或錯誤位置的斜線。

我還更改了MSBuild命令,使其看起來像這樣:

String.Format("/p:SkipInvalidConfigurations=true /p:BuildNumber={1} {0}", AdvancedBuildSettings.GetValue(Of String)("MSBuildArguments", String.Empty), BuildDetail.BuildNumber)

我的目標是從proj文件中訪問BuildNumber。

誰能指出我正確的方向來診斷這一點?

編輯:

根據下面@ sburgess123的回答,使用$(TF_BUILD_BUILDNUMBER)會導致生成異常。 例外並沒有太大幫助; 但它在這里:

運行MSBuild

異常消息:MSBuild錯誤1已結束此生成。 您可以在上述消息中找到有關此錯誤原因的更多特定信息。 (類型BuildProcessTerminateException)異常堆棧跟蹤:位於System.Activities.CodeActivity.InternalExecute(位於System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem處,位於System.Activities.CodeActivity.InternalExecute(ActivityInstance實例,ActivityExecutor執行程序,BookmarkManager書簽管理器) .ExecuteBody(ActivityExecutor執行程序,BookmarkManager書簽管理器,位置resultLocation)

看完之后,我無法在日志中的任何地方找到實際的錯誤,但是如果刪除對$(TF_BUILD_BUILDNUMBER)的引用,就可以了。

您無需修改​​構建過程模板即可執行此操作。 2013年,您可以訪問許多環境變量。 請參見以下鏈接中的“在msbuild中使用環境變量數據”部分:

http://msdn.microsoft.com/en-gb/library/hh850448.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM