问题
How to get the collections from TFS using TFS API
Please refer here for more details. This is one of the best resources on TFS stuff.
回答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;
}
Each returned key value pair in the list contains the collection guid and collections name
来源:https://stackoverflow.com/questions/16100991/how-to-get-all-collections-from-tfs