gregsdennis
gregsdennis

Reputation: 8428

VSTS build Copy Files task copies full path to destination

I'm using a Copy Files task in a VSTS build to copy the results of a VS project (bin\Release folder) to a subfolder in the staging directory.

Copy Files task

What I expect is that the contents of the bin folder should be in the staging\bin folder:

drop\bin\

but instead it copies the full path to the the destination. So my binaries are all in

drop\bin\src\MySolution\MyProject\bin\Release\

Is there a way to copy just the files in my release folder to the staging folder without copying the full path?

Upvotes: 11

Views: 9935

Answers (3)

josetr
josetr

Reputation: 249

Advanced => check Flatten Folders or flattenFolders: true in the YAML file.

I'm guessing this option didn't exist back then.

Upvotes: 5

dwp4ge
dwp4ge

Reputation: 2003

Worthwhile to mention it helps if you use BuildConfiguration variable so it doesn't break when you use a different build config: BuildConfiguration screenshot

Upvotes: 2

gregsdennis
gregsdennis

Reputation: 8428

So it turns out I just needed to change my source directory to the folder where the binaries were.

enter image description here

NOTE This only works because I know exactly where the desired files are. If you find this and you're trying to copy from multiple directories, you have a couple options:

  1. Multiple Copy Files tasks
  2. Just deal with the extra directories.

Upvotes: 17

Related Questions