Visual studio 如何以编程方式从VisualStudioTeamServices下载解决方案

Visual studio 如何以编程方式从VisualStudioTeamServices下载解决方案,visual-studio,tfs,azure-devops,azure-devops-rest-api,Visual Studio,Tfs,Azure Devops,Azure Devops Rest Api,我需要一种从VisualStudioTeamServices下载源代码的方法,基本上我需要一个压缩的解决方案,就像我在VSTS站点上时您可以手动下载它一样 我所尝试的: 我经历过,但不幸的是,我没有找到我需要的东西 我能做的变通方法是: 发布一个POST并检索,它将返回来自主分支的所有文件的列表 遍历列表并逐个下载文件 但我希望有一种方法可以给我一个包含所有文件的分支的zip 从源代码下载文件的方法有很多: 选项1:通过REST API下载文件。 您可以参考的详细步骤。然后可以将文件压缩为zip

我需要一种从VisualStudioTeamServices下载源代码的方法,基本上我需要一个压缩的解决方案,就像我在VSTS站点上时您可以手动下载它一样

我所尝试的:

我经历过,但不幸的是,我没有找到我需要的东西

我能做的变通方法是:

  • 发布一个POST并检索,它将返回来自主分支的所有文件的列表
  • 遍历列表并逐个下载文件

  • 但我希望有一种方法可以给我一个包含所有文件的分支的zip

    从源代码下载文件的方法有很多:

    选项1:通过REST API下载文件。 您可以参考的详细步骤。然后可以将文件压缩为zip格式

    选项2:按生成队列下载文件。 您可以使用存档文件任务和复制文件任务添加生成定义,以将.sln文件从源代码压缩到本地路径。两个任务的设置如下:

    存档文件任务

    要存档的根文件夹(或文件):单击
    按钮选择要下载的.sln文件

    复制文件任务

    源文件夹:
    $(Build.ArtifactStagingDirectory)

    内容:
    *.zip


    目标文件夹:您可以定义一个本地路径,例如
    C:\a

    我使用Microsoft.TeamFoundationServer.Client和Microsoft.VisualStudio.Services.Client找到了解决方案,可以猜到它们是VSTS REST API功能的包装器

    为了从TFVC检索压缩文件夹内容,我使用以下方法:

    Microsoft.TeamFoundation.SourceControl.WebApi.TfvcHttpClient.GetItemsBatchZipAsync(TfvcItemRequestData itemRequestData,Guid项目)


    这是一个完整的代码示例。

    谢谢您的帮助,我已经用更多的细节更新了我的问题,我应该从一开始就这样做。好的,您可以参考,不要忘记使用请求标题
    Accept:application/zip