如何在不使用 assemblyinfo 的情况下使用 TFS 构建自动增加版本号?

How could I auto increment version number with TFS builds without using assemblyinfo?

我有很多网络应用项目。我需要一种在每个网站的页脚中显示版本号的方法(可见或隐藏,以便我可以访问版本号)。我想设置 TFS 构建,以便我可以在每次提交时自动发布到测试服务器,它会自行更新此版本号。我已经设置了网络部署并且工作正常,这只是版本号的问题。问题是 - 我正在使用的 CMS 使用 AssemblyInfo 进行自己的版本控制,所以我不能使用它。我需要某种能够自动递增的自定义版本号。我已经阅读了很多关于如何使用程序集执行此操作的示例,但我可以以其他方式应用相同的原理吗?

我使用的工具是 - TFS 2010、Visual Studio 2013、ASP.NET 网络应用程序

非常感谢任何帮助,谢谢!

您可以将版本存储在文件中(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

然后从传递这两个参数的步骤调用脚本...