2016-07-14 3 views
0

私はTFSの作業項目を操作するためにTFSとのインターフェイスにC#を書いています。私が働いている既存のコードは、排他的に私は、図書館の誰もがされて使用されMicrosoft.TeamFoundation.Clientと私は推測することができるものから、チーム基盤サーバーの "クライアント"と "WebApi"ライブラリの違いは何ですか?

Microsoft.TeamFoundation.WebApi.Client、WEBAPIオンラインの例で見たものからMicrosoft.TeamFoundation.WorkItemTracking.WebApiを使用していますライブラリは限られた機能しか提供していません。たとえば、添付ファイルを作成してWorkItemに関連付けることはできませんが、これはクライアントライブラリでは可能です。これを行うために多くのコードを変更する前に、これらのライブラリの根本的な違いを知ることに本当に関心があります。

TFSクライアントライブラリに関する洞察は非常に高く評価されます。

+0

このリンクもSOの外部の人から見つかった... https://blogs.msdn.microsoft.com/buckh/2015/08/10/nuget-packages-for-tfs-and-visual-studio- online-net-client-object-model/ – Jmoney38

答えて

2

主に違いは、クライアントライブラリ(SOAP API)はLegacy Client Object Modelを使用し、WebApiライブラリはNew Rest APIを呼び出して機能を実現する点です。

そして、これら2つのAPIを持つ主の制限:

  1. Clientライブラリは、システムを構築し、新たなvNextでうまく動作することはできません。
  2. WebApiは、バージョン管理で更新操作(たとえば、変更をチェックインするなど)を実行できません。ただちに情報を読み取ることができます。

WEBAPIは、添付ファイルを作成することができますし、作業項目に関連付け、あなたはコール「CreateAttachmentAsync」の方法でVSTSに添付ファイルをupdoladして、作業項目にアップロードされた添付ファイルを追加するために「UpdateWorkItemAsync」メソッドを呼び出す必要があります。これは、Rest APIと同じワークフロー(Upload an attachment)、次にAdd an attachmentに従っています。

+0

この情報はありがとうございます。これは私の感覚でしたが、COMが従来のアプローチであることを確認するための何も見つかりませんでした。 COMライブラリは、アプリケーションプログラマにとってより良い「もっと良い」インターフェースを提供します。おそらく、この時点でより成熟しているからです。しかし、それは好みの問題だと思います。 WebApiはREST/JSON I/Fをクライアントにリークさせるようです。クライアントからJSONの詳細を隠した、完全にカプセル化された強力な型付けされたライブラリを用意するのはいいことです。 – Jmoney38

関連する問題