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

时间:2016-05-11 09:29:20

标签: tfs msbuild versioning web-deployment publish

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

我使用的工具是 - TFS 2010,Visual Studio 2013,ASP.NET Web应用程序

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

1 个答案:

答案 0 :(得分:2)

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

然后从通过这两个参数的步骤中调用脚本......