2011-01-25 15 views
2

トピックを参照してください。 VStudio2010がインストールされている私のdevmachineですべてうまく動作します。 ただし、クリーンなテストサーバーではありません(セットアッププロジェクトには、使用されているすべてのTFSアセンブリが含まれています)。RegisteredTfsConnections.GetProjectCollectionは、テストサーバーではnullを返しますが、devサーバーではnullを返します。

ドキュメントhttp://msdn.microsoft.com/en-us/library/ff735997.aspxは、戻り値について非常に有用ではありません。

Nullの一致が見つからない場合。

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()メソッドは、コレクションを一貫して返していませんでした。これはユーザーによってではなく、コンピュータによって変わったものでした。私の開発ボックスにはすべてのコレクションが表示され、テストボックスには表示されませんでした。

私の研究では、現在サーバー上のTFSコレクションの一覧を取得したいと思う人に役立つMSDNの記事/ソリューションが見つかりました。

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

これは、Team Foundation ServerのオブジェクトモデルのV12に私のために働きました。

+0

@Abhishek:どこに質問がありますか?彼はそれにも同様の問題があり、代替の解決策を加えたと語った。 downvotingする前に質問をもっと慎重に読んでください。 – jgauffin

+0

@Kirk:答えにサンプルコードを追加します。リンクは将来的に404になる可能性があります。 – jgauffin

+0

申し訳ありませんが、それは私のせいでした。 – Abhishek

0

今日は同じ問題が発生しました。 nullリターンを得た理由は、一部のユーザーがTFSをWebインターフェイス経由で使用していて、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)); 
関連する問題