MSBuild TFS 内部版本号

2024-02-13

我已经使用 SVN 一段时间了。最近在一个项目中我正在使用TFS。对于构建,我喜欢在项目输出上附加/更新构建版本号。我在主页上执行此操作,以便它在应用程序上清晰可见。由于应用程序可以在多台计算机上运行,​​因此可以方便地了解正在运行的版本。

我在 SVN 世界中实现了这一目标:

  <!-- Import of the MSBuildCommunityTask targets -->
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
    <!-- to AssemblyInfo to include svn revision number -->
    <Target Name="BeforeBuild">
      <SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(ProgramFiles)\CollabNet Subversion Client">
        <Output TaskParameter="Revision" PropertyName="Revision" />
      </SvnVersion>
      <Time>
        <Output TaskParameter="Year" PropertyName="Year" />
        <Output TaskParameter="Month" PropertyName="Month" />
        <Output TaskParameter="Day" PropertyName="Day" />
      </Time>
      <FileUpdate Files="MasterPage.master" Regex="svn revision: (\d+)\.(\d+)\.(\d+)\.(\d+)" ReplacementText="svn revision: $(Year).$(Month).$(Day).$(Revision)" />
    </Target>

正如您在上面看到的,“BeforeBuild”任务使用 YYYY.MM.DD.SVNVERSION 标记更新 masterPage.master 文件。

我如何使用 TFS 作为源代码控制来实现这一点。如何获取 TFS 内部版本号?


假设您指的是 Team Build,则 $(BuildNumber) 属性包含当前的内部版本号。

See http://blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx http://blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx获取可用属性的完整参考。

如果您只是运行 MSBuild,我不相信它会生成/应用总体内部版本号(每个项目在其 AssemblyInfo.cs [默认情况下] 文件中都会有一个单独的、可能自动递增的版本号)。您可以在运行时使用 System.Reflection.Assembly 类动态获取特定程序集的版本号。


Update

从 TFS 2010 开始,“BuildNumber”变量不再由 TFS 自动传递到 MSBuild 进程。 TFS 2010 现在使用 Windows Workflow 作为其内部构建引擎,因此如果您需要内部版本号,则必须修改构建定义以包含它,如中所述这篇 MSDN 文章 https://learn.microsoft.com/en-us/archive/blogs/jpricket/tfs2010-where-is-buildnumber.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MSBuild TFS 内部版本号 的相关文章

随机推荐

  • =importXML() 中的 xpath 用于提取元描述

    我正在尝试使用 Xpath 使用 Google Sheets 从网页中提取元描述 我正在努力提取标题 importXml www example com title 以下是我的两个学习来源 http seogadget co uk play
  • 简单 MySQL 子查询性能

    考虑 2 个 MySQL 查询 SELECT ue userid e courseid FROM SELECT id courseid FROM mdl enrol WHERE status 0 AND courseid IN 46 e I
  • 使用 ADO .NET 调用 SQL 函数

    我想要在 SQL Server 中创建调用函数 它接收两个参数并返回一个整数 当我调用存储过程时 我使用以下代码 sqlcmd CommandType CommandType StoredProcedure sqlcmd CommandTe
  • C 或 C++ 中乘法和除法的较高部分?

    当我在汇编中将一对 4 字节整数相乘时 结果的较低部分在 EAX 中 较高部分在 EDX 中 如果我使用 C 或 C 并且我想获得更高的部分 是否可以不使用内联汇编 是否可以以同样的方式从 EAX 获得整数除法结果 从 EDX 获得模数结果
  • Android NDK - 附加包含目录

    我正在使用 Android NDK 构建共享库 我包含了 Android mk 文件中的一个片段 该片段给我带来了一些问题 LOCAL PATH call my dir other module here other module here
  • 在 React Native 中使用 React Navigation 隐藏 StackNavigator 上的标头

    我有以下内容 import React from react import StyleSheet Text View Button from react native import StackNavigator from react nav
  • 专门化模板类的模板成员函数?

    我有一个模板类 它有一个需要专门化的模板成员函数 如下所示 template
  • C#:获取从表单发布的值[重复]

    这个问题在这里已经有答案了 我使用带有方法 post 的表单从另一个页面发布一些数据 我想知道的是 获取这些值的最佳方法是什么 按以下形式的每个名称 Request name 或者有什么方法可以获取数据集合并迭代它 谢谢 你可以写 fore
  • 慢速 SoapHttpClientProtocol 构造函数

    我正在使用 Microsoft Dynamics CRM 进行一些实验 您通过 Web 服务与它交互 我已将 Web 引用添加到我的项目中 Web服务接口非常丰富 生成的 Reference cs 有90k左右 我在控制台应用程序中使用网络
  • 使用 Linux 网络设备别名时指定 TCP 套接字的源 IP 地址

    对于一些特定的网络测试 我创建了一个 VLAN 设备 eth1 900 和几个别名 eth1 900 1 和 eth1 900 2 eth1 900 Link encap Ethernet HWaddr 00 18 E7 17 2F 13
  • 使用 Database.SetInitializer 避免霰弹枪手术

    The 规范答案 https stackoverflow com a 8679662 161457关于放置的地方Database SetInitializer来电处于Global asax对于网络项目 我正在寻找另一种选择 我们使用 Ent
  • 如何在 Go 中获得“虚拟主机”功能?

    使用 Nginx Django 创建虚拟主机就像编写适当的配置一样简单 对于 Go 我发现了这个https codereview appspot com 4070043 https codereview appspot com 407004
  • Beego - 端点测试

    我正在测试 beego 的 http 自定义端点 package test import github com astaxie beego github com smartystreets goconvey convey golife ap
  • 带有水平滚动条的 pre/code 元素破坏了 Firefox 上的 Flex 布局

    在我的基于弹性盒的布局中 我可能有一个 pre code code pre 元素 以及其他元素 由于它的内容可能比容器更宽 所以我做了它overflow x auto 它在 Chrome 上完美运行 但它在 Firefox 上被破坏了 在没
  • 如何在docker中运行chromedp

    我正在尝试跑步chromedp https github com chromedp chromedp在码头工人 我的main go https github com ypapax chromedp docker blob master ma
  • 在 OS X 上为 Java 7u7(包含 JavaFX 2.2)编译 scalafx

    的编译指令scalafx http code google com p scalafx 说要做 export JAVAFX HOME Path To javafx sdk2 1 0 beta sbt clean compile packag
  • 使用点运算符设置frame.size

    我有一个 UIController 正如你们所知UIController与视图关联 您可以使用合成的 getter 和 setters 方法访问它 UIController controller init code controller v
  • MediaFire Rest API 会话签名 SHA1?

    我正在尝试连接到媒体之火 http www mediafire com使用他们的 API 根据该文件get session token http developers mediafire com index php REST API get
  • 在 Azure Web App 中访问 SSL 证书

    我已将 SSL 证书上传到在 Node 上运行的 Azure Web App 现在我想从 Node 脚本以编程方式访问我的证书 以使用它来签署 JWT 有没有办法做到这一点 我找到了类似的答案 https stackoverflow com
  • MSBuild TFS 内部版本号

    我已经使用 SVN 一段时间了 最近在一个项目中我正在使用TFS 对于构建 我喜欢在项目输出上附加 更新构建版本号 我在主页上执行此操作 以便它在应用程序上清晰可见 由于应用程序可以在多台计算机上运行 因此可以方便地了解正在运行的版本 我在