2016-07-14 51 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

相关问题