我正在使用tf.exe,我需要知道Team Foundation服务器上的实际版本ID。
我尝试了 tf history ,但我只需要最新版本。
我正在使用TFS 2010和Visual Studio 2008.
环境变量会为我做。
答案 0 :(得分:0)
如果您使用的是vNext版本(TFS 2015及更高版本),则无需使用tf.exe,您可以直接使用预定义变量Build.SourceVersion
来获取最新版本值(变更集ID)在当前版本中。有关详细信息,请参阅Predefined variables。
然后,您可以使用变量Build.SourceVersion
设置内部版本号格式:
例如:$(TeamProject)_$(BuildDefinitionName)_$(Build.SourceVersion)_$(Date:yyyyMMdd)$(Rev:.r)
但请注意,内部版本号格式中的变量$(Build.SourceVersion)
仅在提交/签入时自动触发构建时可用(在持续集成时)。当您对构建手动进行排队并将Source Version
字段保持为为空时(默认情况下它将获取最新版本),无法解决此问题。 因此,如果您手动对构建进行排队,则需要在队列构建对话框中指定特定的Source Version
(例如C458
)。在另一个帖子中查看我的回复:Using SourceVersion and rev:r in TFS2015 build names
另一种解决方法是先使用变量Build.SourceVersion
获取最新的变更集,然后在构建过程中自动升级内部版本号。
答案 1 :(得分:0)
TFS 2010 means XAML builds, so you need to use the IBuildDetail.SourceGetVersion
property.
The simplest way is to assign a variable just before the UpdateBuildNumber
activity; the variable value is computed mixing the build number computed by TFS and the above property.