TFS SDK 10.0与没有本地工作空间的TFS服务器版本和锁定项目的兼容性

时间:2014-10-09 14:40:10

标签: tfs tfs2010 tfs2012 tfs2013 tfs-sdk

我是TFS的新手,过去几天我刚刚第一次潜入TFS世界(可以说我对TFS的了解到目前为止,仅限于阅读博客,MSDN和快速阅读通过几本书)。目前,我已经获得了扩展存储库浏览器控件的任务,该控制器之前由另一个开发人员完成(引用的TFS SDK版本是2010)。此控件的主要目的是列出给定路径下的所有内容。在我跳到此之前,我有一些想要澄清的问题;

  1. 我是否可以使用2010 SDK连接到TFS 2010,2012和2013服务器,而无需根据服务器版本切换到更新版本的SDK?
  2. 我还希望在我的控件中实现一些允许用户使用的命令;

    • 将标签应用于文件/文件夹
    • 锁定/解锁文件
    • 在文件夹
    • 下创建子目录
    • 删除文件/文件夹

      我想知道,我是否可以在没有本地工作空间映射的情况下执行这些命令(类似于TortoiseSvn Repo浏览器的情况,可以锁定/解锁或丢弃文件/文件夹而不使用当地工作副本)。
  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 这取决于您调用的API的哪个部分。有些东西在没有重新编译的情况下会向后兼容。有些东西需要引用较新版本的TFS API二进制文件,并且需要重新编写一些内容,因为在新版本的TFS中已弃用某些对象和方法。真的要广泛提问。
  2. 编辑:您想花一些时间来了解TFS API文档:如果您主要关注版本控制操作,那么您希望成为Microsoft.TeamFoundation.VersionControl.ClientMicrosoft.TeamFoundation.VersionControl.Common的朋友然后当您有关于代码实现的更具体细节时,请回来。

    1. 不,如果要从源代码管理中操作文件,则需要拥有工作区。在TFS 2012及更高版本中,有2种工作区,服务器工作区跟踪TFS服务器上的更改,您必须明确签出文件以进行修改。本地工作区更像SVN并在本地跟踪更改。 TFS 2010仅支持服务器工作区。除此之外,TFS 2013还允许您在TFS中托管Git存储库。但是,您无法在TFSVC和Git之间进行混合和匹配,您需要在创建团队项目时决定需要哪一个。您可以使用包装TFSVC的SVN Bridge,以便可以使用Tortoise工具调用它,但这会给您的解决方案增加很多复杂性,可能更容易获得API来创建工作空间。
    2. 编辑:API调用再次出现,我还没有在这个空间做过很多工作,但Item.QueryItem Method命名空间中的Microsoft.TeamFoundation.VersionControl.Server是一个很好的起点。