Как получить все пути итерации с TFS API 2013

В течение некоторого времени я использовал библиотеки API TFS и использовал следующий код при взаимодействии с TFS 2010, чтобы получить пути итерации (код изэта страница) ...

public IList<string> GetIterationPaths(Project project)
{
   List<string> iterations = new List<string>();
   foreach (Node node in project.IterationRootNodes)
      AddChildren(string.Empty, node, iterations);
   return iterations;
}

private void AddChildren(string prefix, Node node, List<string> items)
{
   items.Add(node.Path);
   foreach (Node item in node.ChildNodes)
      AddChildren(prefix + node.Name + "/", item, items);
}

Когда я смотрел на получение всех итераций в TFS 2013, все изменилось. В TFS 2013 концепция итераций немного изменилась, а сборки API для TFS 2013 не имеютIterationRootNodes

Я использовал следующий код для получения командных итераций, но он основан на команде, а не на полном наборе итераций для проекта ... (в настоящее время получается первая команда, но ее можно закодировать, чтобы получить другие)

 var cred = new TfsClientCredentials(new WindowsCredential(), true);
 TfsTeamProjectCollection coll = new TfsTeamProjectCollection("{URI to SERVER}", cred);
 coll.EnsureAuthenticated();

 var teamConfig = coll.GetService<TeamSettingsConfigurationService>();
 var css = coll.GetService<ICommonStructureService4>();
 var project = css.GetProjectFromName(projectInfo.ProjectName);

 IEnumerable<TeamConfiguration> configs = teamConfig.GetTeamConfigurationsForUser(new[] { project.Uri.ToString() });
 TeamConfiguration team = configs.FirstOrDefault(x => x.ProjectUri == project.Uri.ToString());

 var iterations = BuildIterationTree(team, css);

гдеBuildIterationTree&nbsp;похоже...

 private IList<IterationInfo> BuildIterationTree(TeamConfiguration team, ICommonStructureService4 css)
    {
        string[] paths = team.TeamSettings.IterationPaths;

        var result = new List<IterationInfo>();

        foreach (string nodePath in paths.OrderBy(x => x))
        {
            var projectNameIndex = nodePath.IndexOf("\\", 2);
            var fullPath = nodePath.Insert(projectNameIndex, "\\Iteration");
            var nodeInfo = css.GetNodeFromPath(fullPath);
            var name = nodeInfo.Name;
            var startDate = nodeInfo.StartDate;
            var endDate = nodeInfo.FinishDate;

            result.Add(new IterationInfo
            {
                IterationPath = fullPath.Replace("\\Iteration", ""),
                StartDate = startDate,
                FinishDate = endDate,
            });
        }
        return result;
    }

Мой вопрос ...&nbsp;Как получить полное дерево итераций, а не групповые итерации для TFS 2013?

Определенные для команды итерации могут быть настроены на показ или нет через веб-портал с помощью флажка против итерации.