C# 如何从TFS获取所有集合

C# 如何从TFS获取所有集合,c#,tfs,alm,C#,Tfs,Alm,如何使用TFSAPI从TFS获取集合 有关更多详细信息,请参阅。这是TFS上最好的资源之一。私有TFS配置服务器配置服务器; private TfsConfigurationServer configurationServer; configurationServer = TfsConfigurationServerFactory.GetConfigurationServer(uri); public IList<KeyValuePair<Guid, String>>

如何使用TFSAPI从TFS获取集合

有关更多详细信息,请参阅。这是TFS上最好的资源之一。

私有TFS配置服务器配置服务器;
private TfsConfigurationServer configurationServer;
configurationServer = TfsConfigurationServerFactory.GetConfigurationServer(uri);



public IList<KeyValuePair<Guid, String>> GetCollections()
{
    //ApplicationLogger.Log("Entered into GetCollections() : ");
    var collectionList = new List<KeyValuePair<Guid, String>>();
    try
    {
        configurationServer.Authenticate();

        ReadOnlyCollection<CatalogNode> collectionNodes = configurationServer.CatalogNode.QueryChildren(
            new[] { CatalogResourceTypes.ProjectCollection },
            false,
            CatalogQueryOptions.None);
        foreach (CatalogNode collectionNode in collectionNodes)
        {
            var collectionId = new Guid(collectionNode.Resource.Properties["InstanceId"]);
            TfsTeamProjectCollection teamProjectCollection =
                configurationServer.GetTeamProjectCollection(collectionId);

            if (teamProjectCollection == null)
                continue;

            collectionList.Add(new KeyValuePair<Guid, String>(collectionId, teamProjectCollection.Name));
        }
    }
    catch (Exception e)
    {
        ApplicationLogger.Log(e);
    }

    return collectionList;
}
configurationServer=TfsConfigurationServerFactory.GetConfigurationServer(uri); 公共IList GetCollections() { //ApplicationLogger.Log(“输入GetCollections():”; var collectionList=新列表(); 尝试 { configurationServer.Authenticate(); ReadOnlyCollection collectionNodes=configurationServer.CatalogNode.QueryChildren( 新[]{CatalogResourceTypes.ProjectCollection}, 假,, 目录查询选项。无); foreach(collectionNodes中的CatalogNode collectionNode) { var collectionId=新Guid(collectionNode.Resource.Properties[“InstanceId”]); TfsTeamProjectCollection团队项目集合= configurationServer.GetTeamProjectCollection(collectionId); 如果(teamProjectCollection==null) 继续; 添加(新的KeyValuePair(collectionId,teamProjectCollection.Name)); } } 捕获(例外e) { ApplicationLogger.Log(e); } 回收清单; }

列表中每个返回的键值对都包含集合guid和集合名称

请不要将错误处理代码放入示例中。这是不相关的,它改变了行为。在这种情况下,如果TFS服务器没有响应,则您的方法声明根本没有集合。