3

Web サービスを使用して TFS サーバーからプロジェクトのリストを取得するにはどうすればよいですか?

TFS Web サービスのドキュメントはありますか?

4

2 に答える 2

6

私もブライアンジョンカーに同意します。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);
    }
于 2010-05-25T14:41:13.837 に答える
1

最善の策は、TFS DLLとそのAPIを使用することです。これは、 http://msdn.microsoft.com/en-us/library/bb130146(VS.80).aspxおよびhttp://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
}
于 2010-05-25T12:54:00.530 に答える