如何从TFS获取项目列表?

时间:2010-05-25 12:39:34

标签: tfs web-services tfs-sdk

如何使用webservice从TFS服务器获取项目列表?

是否有可用于TFS Web服务的文档?

2 个答案:

答案 0 :(得分:5)

我也同意bryanjonker。不要直接调用Web服务,这实际上是为内部使用而保留的。创建您自己的访问层并调用API。

您还可以使用对象模型来访问ICommonStructureService。我最近开始使用它,并发现它更清洁。下面的代码与bryanjonker的例子相同:

    var tfs = TeamFoundationServerFactory.GetServer(serverUri);

    var projectCollection = tfs.GetService<ICommonStructureService>();

    foreach (var projectInfo in projectCollection.ListProjects())
    {
        listBox1.Items.Add(projectInfo.Name);
    }

答案 1 :(得分:1)

最好的办法是使用TFS DLL和该API,它位于http://msdn.microsoft.com/en-us/library/bb130146(VS.80).aspxhttp://msdn.microsoft.com/en-us/library/bb130334(v=VS.80).aspx。据我所知,直接点击Web服务是不受欢迎的。

要获得项目列表,我认为有多种方法可以做到这一点。我发布了我使用的代码:使用GetServer方法获取项目集合,然后通过ListProjects()方法列出。我需要这样做,因为我需要获得区域和迭代。这需要Microsoft.TeamFoundation.Client命名空间。

var tfs = TeamFoundationServerFactory.GetServer(Constants.TEAMFOUNDSERVER);
var projectCollection  = (ICommonStructureService)tfs.GetService(typeof(ICommonStructureService));
foreach (var projectInfo in projectCollection.ListProjects()) 
{
     //do stuff here
}
相关问题