【问题标题】:Check Source code changed since last TFS successful build检查自上次 TFS 成功构建以来更改的源代码
【发布时间】:2011-10-03 01:47:08
【问题描述】:

在 TFS 2010 自定义活动中,如何以编程方式找出我的项目源代码自上次成功构建以来是否已更改/签入。

【问题讨论】:

    标签: tfs build build-automation


    【解决方案1】:

    您可以使用构建和版本控制 API 来实现此目的。

    首先,您需要通过查看构建定义的LastGoodBuildLabel 属性找出最后一个成功的构建标签。

    将此标签用作QueryHistory 方法的versionFrom 参数,并将最新版本规范用作versionTo,您可以检查从那里到现在之间是否存在任何历史记录条目。

    您需要将路径指定为源代码的根目录,将递归设置为 true,并将其他额外信息标志设置为 false。您可能还希望将历史记录条目的最大计数设置为 1,因为您只需要知道它是否存在。

    希望对你有帮助。

    【讨论】:

    • 嗨 Duat,但是如果有多个项目,如何确定哪个项目发生了变化??
    • 您好,如果您想确定哪个项目的源代码已更改,那么您需要通过将该项目的根指定为您查询的路径来为每个单独的项目发出查询。在这种情况下,您需要执行多个查询,每个项目一个。
    • Duat,你能帮我如何遍历项目路径,因为我无法获得 QueryHistory 所需的项目文件夹路径。我使用了方法 1:GetAllTeamProject 或 var projectCollection = (ICommonStructureService)tfs.GetService(typeof(ICommonStructureService)); foreach (var projectInfo in projectCollection.ListProjects()) { //do stuff here }....... 但是 QueryHistory 所需的项目路径并没有出现。请让我知道如何遍历项目路径。
    • 我以为您指的是代码项目,而不是 TFS 团队项目。对于团队项目,您可以使用此方法获取所有团队项目,并且 TeamProject.ServerItem 属性就是您想要的:msdn.microsoft.com/en-us/library/…
    • Duat,我需要解决方案中的项目名称,而不是团队项目。我有一个解决方案 A,并且与该解决方案项目 AB、AC 和 AD 绑定。如何获取AB、AC、AD的服务器路径和本地路径?
    猜你喜欢
    • 1970-01-01
    • 2010-09-18
    • 2012-04-22
    • 2011-12-26
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    相关资源
    最近更新 更多