2011-01-25 19 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)); 
相關問題