TFS构建 - 构建后将其他文件夹中的多个文件放入一个文件夹

时间:2017-03-23 12:41:45

标签: service tfs build

在TFS Builds组件中,我尝试这样做,以放置这些文件:

  • 主\ Folder1中... \ BIN \ file1.dll
  • 主\ FOLDER2 ... \ BIN \ file2.dll

在一个文件中,例如:\ Main \ dll

我可以为每个文件夹手动执行,但如果我有这么多文件,我不想手动执行此操作。

What I'd like

感谢您帮助我!

2 个答案:

答案 0 :(得分:1)

在VS Build步骤后添加Copy File步骤。在“复制文件”步骤中,设置如下图所示:内容可以是{{1}},并确保选中拼合文件夹

enter image description here

注意: 展平文件夹仅存在于 TFS 2017 Update1 中,而高级版本仅存在于内部部署。 VSTS也有它。但是在TFS 2017和TFS 2015中,它没有。

因此,如果您使用较低版本的TFS,则需要使用2个“复制文件”步骤并将2个dll分别复制到主文件夹。或者您可以从here下载该步骤的最新源代码(它具有FlattenFolder选项)。然后打包并上传到您的TFS作为自定义构建步骤。

答案 1 :(得分:0)

您可以使用MSBuild参数来实现此目的。只需将OutDir参数添加到Build Solution Step,如下所示:

/p:OutDir=$(Build.BinariesDirectory)

enter image description here

在这种情况下,您的所有文件都将以Build Agent的二进制目录结束。例如“C:\ Agent1_work \ 1个\ B”

当然,您也可以使用与变量$(Build.BinariesDirectory)内部不同的目标文件夹。