【问题标题】:How could I auto increment version number with TFS builds without using assemblyinfo?如何在不使用 assemblyinfo 的情况下使用 TFS 构建自动增加版本号?
【发布时间】:2016-05-11 09:29:19
【问题描述】:
我有很多 Web 应用程序项目。我需要一种在每个网站的页脚中添加版本号的方法(可见或隐藏,以便我可以访问版本号)。我想设置 TFS 构建,这样我就可以在每次提交时自动发布到测试服务器,它会自行更新这个版本号。我已经设置了网络部署并且工作正常,这只是版本号的问题。问题是 - 我使用的 CMS 使用 AssemblyInfo 进行自己的版本控制,所以我不能使用它。我需要某种可以自动递增的自定义版本号。我已经阅读了很多关于如何使用程序集执行此操作的示例,但是我可以以其他方式应用相同的原理吗?
我正在使用的工具是 - TFS 2010、Visual Studio 2013、ASP.NET Web 应用程序
非常感谢任何帮助,谢谢!
【问题讨论】:
标签:
tfs
msbuild
versioning
web-deployment
publish
【解决方案1】:
您可以将版本存储在一个文件(version.xml、version.txt、version.json 或类似文件)中,并创建一个 version.aspx 从文件中读取并将其显示在屏幕上。比如:
version=##version##
changeset=##changeset##
然后,您可以在构建中添加一个 powershell 步骤,以替换当前构建中的值。
param($version, $ChangeSet)
(Get-Content version.txt).replace('##version##', $version) | Set-Content version.txt
(Get-Content version.txt).replace('##ChangeSet##', $ChangeSet) | Set-Content version.txt
然后您从传递这两个参数的步骤调用脚本...