You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSTS构建配置:如何从指定文件夹复制文件

只复制特定文件夹内容到Azure DevOps(原VSTS)工件目录的解决方案

你在Azure DevOps(原VSTS)构建流程里遇到的复制范围过广问题很常见——空Contents字段会默认复制整个源代码目录,咱们只要精准配置路径通配符就能搞定。结合你的项目结构,我给你整理了几种实用的配置方案:

1. 复制单个解决方案的编译输出(比如Solution-1的Release版本)

在Copy Files任务的Contents字段填入:

intra-DEV/Project/Solution-1/**/bin/Release/**
  • **是递归通配符,会匹配Solution-1下所有层级的bin/Release目录,以及里面的所有文件和子文件夹
  • 如果你的编译是Debug版本,把Release替换成Debug即可

2. 一次性复制Project下所有解决方案的编译输出

如果想同时复制Solution-1和Solution-2的编译文件,用更宽泛的匹配模式:

intra-DEV/Project/**/bin/Release/**

这个模式会自动覆盖Project目录下所有子文件夹里的bin/Release内容。

3. 仅复制特定类型的文件(比如dll、exe)

要是不想复制pdb、xml这类辅助文件,可以指定具体的文件后缀:

intra-DEV/Project/**/bin/Release/*.dll
intra-DEV/Project/**/bin/Release/*.exe

直接在Contents里换行写多个模式就行,每个模式对应一种目标文件类型。

4. 排除不必要的中间目录(比如obj文件夹)

编译生成的obj文件夹属于中间产物,没必要复制,咱们用!前缀来排除:

intra-DEV/Project/**/bin/Release/**
!**/obj/**

这样就只会保留bin/Release里的有效输出,自动跳过所有obj目录。

额外小提示:

  • 如果你在MSBuild任务里指定了自定义输出目录(比如用/p:OutDir=$(Build.SourcesDirectory)/MyOutput参数),那Contents直接写MyOutput/**就行,不用再定位bin目录。
  • Source folder字段可以留空(默认就是$(Build.SourcesDirectory)),要是想缩小源目录范围,也可以填$(Build.SourcesDirectory)/intra-DEV/Project,这样Contents里的路径能更简洁,比如直接写**/bin/Release/**。

按上面的配置调整后,Copy Files任务就只会复制你需要的特定内容,不会再把整个源代码目录都带过去了。

内容的提问来源于stack exchange,提问作者Sreeraj Sree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:28:52