首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于GIT的VSTS客户端API中的TFS客户端API等效结构

用于GIT的VSTS客户端API中的TFS客户端API等效结构
EN

Stack Overflow用户
提问于 2018-08-15 19:03:14
回答 1查看 237关注 0票数 1

我目前有一个使用TFS客户端API的项目。这个项目在C#里。该项目引用了以下构造:

  • VersionControlServer
  • VersionControlLabel
  • 项目
  • ItemSet
  • VersionSpec

下面是当前代码的示例:

代码语言:javascript
运行
复制
using (TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(collectionUri)))
{
    VersionControlServer vcServer = tpc.GetService<VersionControlServer>();
    ItemSet itemSet = vcServer.GetItems("$/", RecursionType.OneLevel);
    foreach (Item item in itemSet.Items)
    {
        //do stuff with the item
    }
}

现在,我在VSTS (配置为使用Git)中有我想要针对的项目。根据我到目前为止所看到的,如果您使用Git源,上述构造在VSTS客户端API中并不存在。

源为Git的VSTS客户端API中的等效结构是什么?

下面是我的VSTS示例代码:

代码语言:javascript
运行
复制
  VssConnection connection = new VssConnection(new Uri(vstsOrTfsCollectionUrl), new VssClientCredentials());

//The ProjectHttpClient
 ProjectHttpClient projectClient = connection.GetClient<ProjectHttpClient>();

 BuildHttpClient buildServer = connection.GetClient<BuildHttpClient>();

//Get Basic Project - Shallow Reference
 IEnumerable<TeamProjectReference> projects = 
 projectClient.GetProjects().Result;

//Create GIT since some projects use Git
GitHttpClient gitClient = connection.GetClient<GitHttpClient>();

..projectName.. and other code here..

TeamProject theProject = projectClient.GetProject(projectName).Result;

List<GitRepository> gitRepositoryList = 
gitClient.GetRepositoriesAsync(theProject.Name).Result;
EN

回答 1

Stack Overflow用户

发布于 2018-08-16 01:41:24

您提到的第一个代码是版本控制系统(TFVC),而不是Git。TFVC和Git是不同的版本控制系统,API的结构也不同。所以你不会为Git找到相同的构造。如果希望获取Git存储库中的项,请在GetItemsAsync()中使用GitHttpClient方法。

顺便说一下,您提到的TFS客户端API是遗留的SOAP,而VSTS客户端API是新的Rest。它们都适用于TFS和VSTS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51864875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档