2011-01-25 71 views
2

请参阅主题。在安装了VStudio2010的devmachine上,一切正常。 但不是在干净的测试服务器上(安装项目包括所有使用的TFS程序集)。RegisteredTfsConnections.GetProjectCollection在测试服务器上返回null,但不在dev服务器上返回

的文档http://msdn.microsoft.com/en-us/library/ff735997.aspx是不是返回值非常有帮助:

如果

空没有找到匹配。

我应该用另一种方法来获得TFS连接吗?我只是想列出并从一个特定的项目下载一些文件。

更新

我恢复到这一点:

 var uri = new Uri("http://myserver/"); 
     var tfs = new TeamFoundationServer(uri); 
     var versionControl = tfs.GetService<VersionControlServer>(); 

其中一期工程。但TeamFoundationServer已过时。所以我想知道如何以新的方式做到这一点。

回答

3

我用:

var uri = new Uri("http://myserver/"); 
var server = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri); 
0

我有同样的问题。 RegisteredTfsConnections.GetProjectCollection()方法并不一致地返回集合。这不是由用户,而是由电脑奇怪。我的开发盒显示所有的收藏和我的测试框显示没有。

在我的研究中,我发现了一个MSDN文章/解决方案,它可以帮助任何目前想要在服务器上获取TFS集合列表的人。

"Sample Code: Connect to Team Foundation Server" by Allen Clark

它在Team Foundation Server的对象模型V12为我工作。

+0

@Abhishek:它在哪里包含一个问题?他说,它有类似的问题,并增加了一个替代解决方案。在投票前仔细阅读问题。 – jgauffin 2013-10-24 13:10:20

0

今天我遇到了同样的问题。我得到空回归的原因是有些用户通过Web界面使用TFS,他们没有通过用于TFS的Visual Studio插件添加服务器。

RegisteredTfsConnections.GetProjectCollection I get null exception的回答也适用于这种情况。

var tfs = new TfsTeamProjectCollection(new Uri("http://example.com:8080/tfs/DefaultCollection")); 
var versionControl = (VersionControlServer)tfs.GetService(typeof(VersionControlServer)); 
相关问题