Similar to this,我想在用户下列出所有项目。我目前正在使用链接之前的代码:

private static List<string> GetTfsProjects(Uri tpcAddress)
{
    var tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(tpcAddress);

    tpc.Authenticate();

    var workItemStore = new WorkItemStore(tpc);
    var projectList = (from Project pr in workItemStore.Projects select pr.Name).ToList();

    return projectList;
}


..但它仅返回“ LSWebsite”(我的URI是h ttp://server:port/defaultcollection)。我如何获得LSWebsite及其子级?下图显示了我当前使用的层次结构。

最佳答案

那些看起来像团队。

试试以下代码片段:

var teamService = tpc.GetService<TfsTeamService>();

var teams =
        projectList
        .SelectMany(
            projectId =>
                teamService
                .QueryTeams(projectId)
                .Select(t =>  String.Format("{0}\\{1}", projectId, t.Name)))
        .ToArray();

projectList.AddRange(teams);


摘自Shai的博客here

10-08 08:43