如何以编程方式获取TFS团队项目名称

本文关键字:团队 项目 TFS 获取 编程 方式 | 更新日期: 2023-09-27 18:08:52

我正在创建一个签入策略,使用:

using Microsoft.TeamFoundation.VersionControl.Client;

我想从当前工作区或PendingCheckin

中获得当前TFS团队项目名称

任何想法?

如何以编程方式获取TFS团队项目名称

您可以使用VersionControlServer。在挂起的更改上GetTeamProjectForServerPath:

var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
    return vcs.GetTeamProjectForServerPath(pendingChange.ServerItem);
}

这也意味着您可以检测挂起的更改是否跨越多个团队项目。


编辑/扩张:

现在我考虑了一下,您可能应该使用本地路径,因为您要签入的文件可能还没有在服务器上(添加)。

所以你可以使用工作区。GetTeamProjectForLocalPath相反:

var workspace = pendingCheckin.GetWorkspace();
var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
    return workspace.GetTeamProjectForLocalPath(pendingChange.LocalItem);
}

可以使用

访问
  BuildDetail.TeamProject

查找程序集:C:'Program Files (x86)'Microsoft Visual Studio 11.0'Common7'IDE'ReferenceAssemblies'v2.0'Microsoft.TeamFoundation.Build.Client.dll