如何将最新的TFS变更集编号插入到aspx页面中?

时间:2010-11-18 17:11:05

标签: asp.net asp.net-mvc msbuild tfs2010 tfsbuild

当我们使用SVN时,我们总是在页面的页脚打印:“修订版XXXX”。我一直在寻找,但我无法弄清楚如何用TFS做同样的事情。任何人都可以提供一些指示吗?

如果这很重要:我们正在使用ASP.NET MVC。不过,我猜它没关系。

5 个答案:

答案 0 :(得分:4)

您可以使用程序集的默认版本系统来跟踪修订版号,而无需在TFS中添加任何内容。

如果您在Major.Minor.*的{​​{1}}属性(例如AssemblyInfo)中使用AssemblyVersion格式,则会根据以下格式生成版本:

[assembly: AssemblyVersion("1.0.*")]

,其中

  • 主要=您的价值
  • Minor =您的价值
  • Build =自此以来的天数 2000年1月1日
  • Revision =(当天午夜以来的秒数 在Build)/ 2
  • 中指定

这将为您提供一个不断增加的数字,为您提供有关构建日期和时间的准确信息。

要在代码中使用这些值,您只需使用Major.Minor.Build.Revision 恢复版本。

答案 1 :(得分:1)

您可以使用this等程序集版本控制工具/技术更新AssemblyInfo.cs项目的版本号。可以根据TFS变更集编号更新程序集的版本号。然后可以在应用程序中显示版本号。

答案 2 :(得分:0)

至少在它发布时,TFS不允许在文件中替换符号,这是我认为你所追求的。我不确定在最近的版本中是否有所改变。

答案 3 :(得分:0)

Changeset!=版本

话虽这么说,您可以在web.config中添加一个包含版本号的设置,并在页面上显示该设置。版本号可以作为构建过程的一部分进行更新,但不会与更改集相关联。

我应该补充一点,这可能成为一个循环问题。如果您获得项目的最新变更集编号,则将其添加到配置(如上所述),然后签入,您不再显示最新的变更集。将1添加到最新的变更集也不是一种保证,因为在更新文件时可以检查某些内容。

答案 4 :(得分:0)

我们最终使用MsBuild任务搜索特定字符串并替换为适当的值(不一定是修订号)。

任务作为构建模板的一部分运行,并将修订号放在所有存在令牌的文件中。