团队基础服务器的“客户端”和“WebApi”库之间有什么区别?

时间:2016-07-14 15:19:14

标签: c# .net tfs azure-devops

我正在编写C#以与TFS接口来操作TFS中的工作项。我正在使用的现有代码专门使用 Microsoft.TeamFoundation.WorkItemTracking.WebApi ,但从我在网上示例中看到的,每个人使用的库是Microsoft.TeamFoundation.Client和{{3} }

据我所知,WebApi库只提供有限的功能 - 例如,我无法创建附件并将其与WorkItem相关联 - 但是,这似乎可以通过客户端库实现。在更改大量代码之前,我真的只是想知道这些库之间的潜在差异。

非常感谢对TFS客户端库的任何了解。

1 个答案:

答案 0 :(得分:3)

主要区别在于客户端库(SOAP API)使用Legacy Client Object Model而WebApi库调用New Rest API来实现这些功能。

这两个API的主要限制是:

  1. 客户端库无法与新的vNext构建系统一起使用。
  2. WebApi无法使用版本控制执行更新操作(例如检入更改),它现在只能读取信息。
  3. WebApi可以创建附件并将其与Workitem关联,您需要通过调用“CreateAttachmentAsync”方法将附件更新为VSTS,然后调用“UpdateWorkItemAsync”方法将上载的附件添加到工作项。它遵循与Rest API相同的工作流程:Upload an attachment,然后是Add an attachment