是否可以使用TFS API获取所有项目和子项目

Sun*_*Sun 2 tfs c#-4.0

我正在研究TFS API.我想从TFS获取整个项目,子项目,文件列表.有人可以指导我.

TfsTeamProjectCollection teamProjectCollection = teamFoundationserver.TfsTeamProjectCollection;
ProjectCollection projCollect = (ProjectCollection) teamProjectCollection.GetService(typeof(ProjectCollection));
Run Code Online (Sandbox Code Playgroud)

上面的代码只显示了TFS的第一级.我怎样才能进一步深入TFS树.我想要每个项目下的整个项目列表和解决方案.

谢谢,SV

Rob*_*cus 7

没有"子项目"这样的东西.您想要做的是获取每个项目下所有子文件夹/文件的列表.

为此,迭代您的每个项目,并GetItems在每个项目上执行.这是一些代码:

TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(new Uri("http://sw100429:8080"));

ProjectCollection projCollect = (ProjectCollection)teamProjectCollection.GetService(typeof(ProjectCollection));

VersionControlServer vcs = teamProjectCollection.GetService<VersionControlServer>();

// This approach lets you get the list of files for each team project individually.

foreach (TeamProject tp in projCollect)
{
    string path = string.Format("$/{0}", tp.Name);
    var filesAndFolders = vcs.GetItems(path, RecursionType.Full);
}


// However, this approach is a bit more succinct - instead
// of getting them for each team project, just start at "$/" and work your way down

var allFilesAndFolders = vcs.GetItems("$/", RecursionType.Full);
Run Code Online (Sandbox Code Playgroud)