2016-07-14 50 views
0

我正在寫C#與TFS接口來操作TFS中的工作項。現有的代碼,我的工作是專門使用Microsoft.TeamFoundation.WorkItemTracking.WebApi但是從我的例子在網上看到,圖書館大家都在用的Microsoft.TeamFoundation.ClientMicrosoft.TeamFoundation.WebApi.Client團隊基礎服務器的「客戶端」和「WebApi」庫有什麼區別?

從我可以推斷,該的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來實現這些功能。

而且主要侷限與這兩個API:

  1. 客戶端庫不能與新vNext很好地工作建立系統。
  2. WebApi無法使用版本控制執行更新操作(例如簽入更改),它現在只能讀取信息。

的的WebAPI可以創建一個附件,它關聯到一個工作項目,你需要通過調用「CreateAttachmentAsync」的方法來updolad附着到VSTS,然後調用「UpdateWorkItemAsync」方法來上傳的附件添加到一個工作項。它遵循與Rest API相同的工作流程:Upload an attachment,然後Add an attachment

+0

非常感謝您提供此信息。這是我的預感,但我無法找到任何證實COM是傳統方法的東西。 COM庫爲應用程序員提供了一個「更好的」接口 - 可能是因爲它在這一點上更加成熟。但是,我想這是一個偏好問題。 WebApi似乎將REST/JSON I/F泄露給客戶端。如果有一個強類型的,完全封裝的庫來隱藏客戶端的JSON細節,那就太好了。 – Jmoney38

相關問題