我使用创建签入策略:如何编程方式获得TFS团队项目名称
using Microsoft.TeamFoundation.VersionControl.Client;
我想从目前的工作空间或PendingCheckin
任何获取当前TFS团队项目名称想法?
我使用创建签入策略:如何编程方式获得TFS团队项目名称
using Microsoft.TeamFoundation.VersionControl.Client;
我想从目前的工作空间或PendingCheckin
任何获取当前TFS团队项目名称想法?
您可以在这样一个挂起的更改使用VersionControlServer.GetTeamProjectForServerPath:
var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
return vcs.GetTeamProjectForServerPath(pendingChange.ServerItem);
}
这也意味着你可以检测挂起的变化s跨越多个团队项目。
编辑/扩展:
现在我想想,你应该使用本地路径,因为文件你检查可能不会在服务器上,但(增加)。
所以,你可以使用Workspace.GetTeamProjectForLocalPath代替:
var workspace = pendingCheckin.GetWorkspace();
var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
return workspace.GetTeamProjectForLocalPath(pendingChange.LocalItem);
}
您可以
BuildDetail.TeamProject
访问查找大会: C:\ Program Files文件(x86)的\微软的Visual Studio 11.0 \ Common7 \ IDE \ ReferenceAssemblies \ 2.0 \ Microsoft.TeamFoundation。 Build.Client.dll
你怎么想使用它?工作区和签入可以跨越项目... – bryanmac 2013-04-11 12:17:07
我正在制定签入策略,将当前正在签入的任何文件从本地开发人员工作区复制到其他位置。这个位置会根据它属于哪个团队项目而不同 – jpsnow72 2013-04-11 12:37:43
我没有意识到签入可能会扫描多个项目。如果有帮助,我会为每个团队项目总是有一个不同的工作区,但是我可以为每个项目执行此操作,只要我能以某种方式获取该文件正在签入的所有项目的列表。 – jpsnow72 2013-04-11 12:42:10