【问题标题】:How to get all collections from TFS如何从 TFS 获取所有集合
【发布时间】:2013-04-19 09:03:25
【问题描述】:

如何使用 TFS API 从 TFS 获取集合

详情请咨询here。这是关于 TFS 的最佳资源之一。

【问题讨论】:

    标签: c# tfs alm


    【解决方案1】:
    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;
    }
    

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

    【讨论】:

    • 尽量不要将错误处理代码放入示例中。它不相关,它会改变行为。在这种情况下,如果 TFS 服务器没有响应,则您的方法声明根本没有集合。
    猜你喜欢
    • 1970-01-01
    • 2022-09-22
    • 1970-01-01
    • 2021-09-18
    • 2016-07-03
    • 2021-07-05
    • 2016-06-23
    • 2018-06-10
    • 2020-08-12
    相关资源
    最近更新 更多