如何使用 TeamFoundation 客户端从构建工件中获取单个文件

How to obtain individual file from build artifact using TeamFoundation clients

我继承了一个 .Net 应用程序的维护工作,该应用程序与我们的 DevOps 实例交互,允许开发人员从我们的构建管道中获取构建工件并将应用程序安装到本地设备。

该应用程序使用 Microsoft.TeamFoundation 命名空间中可用的各种客户端,特别是 BuildHttpClient (ref) 来下载工件 zip 文件,然后在本地处理它。 我宁愿只下载相关的 appx 和依赖文件,但这似乎不可能,除非有人知道不同?

我注意到基于 Web 的 DevOps 工件浏览器本身将允许按文件下载,但我没有看到它在任何地方公开...

您可以使用 Rest API call instead of the SDK, there is an Artifacts - Get File API:

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?artifactName={artifactName}&fileId={fileId}&fileName={fileName}&api-version=5.1

也许它只适用于发布管道工件任务而不适用于发布构建管道任务,请参阅here