TFS 2015 Publish Build Artifacts in one directory
Solution 1
You can use the "Copy File" task and specify the Source Folder in it to achieve this feature. See this question for details: Copy one file in target directory on deploy from visual studio team services
Solution 2
This is still possible, you can pass the following command line argument to your Visual Studio Build or MsBuild task:
/p:OutputPath="$(Build.BinariesDirectory)"
This will instruct the build task to redirect all output to the Binaries Directory, as you were accustomed to from the old XAML builds.
or you can use my MsBuild Helper task from the Visual Studio Market Place to configure the Output Path, then add the $(MsBuildAdditionalArguments)
variable to your MsBuild or Visual Studio Build's additional arguments input:
Visual Studio Build / MsBuild Task
Solution 3
Also please try giving this MSBuild argument
/p:GenerateProjectSpecificOutputFolder=true /p:OutDirWasSpecified=true
/p:OutputPath=$(Build.BinariesDirectory)
ovm
Updated on July 01, 2022Comments
-
ovm almost 2 years
We have just upgraded from
TFS 2010
toTFS 2015
and I'm recreating a XAML-Build-Definition in the "vNext" build/workflow-format.In the old Build it was possible to output all files (the DLLs) flat in one single directory, without their original directory structure.
Is this still possible with the new TFS 2015 Build framework?
I have the following
Publish Build Artifact
-Settings:Artifact Type: File Share
Path: \\server\tfslib\$(Build.DefinitionName)\$(Build.DefinitionName)_$(Build.BuildNumber)
The problem is that the original solution directory structure is preserved in the output directory specified in
Path
. How can I get the output without the whole subtree?As a workaround I'm currently doing this with a Powershell step after the
Publish Build Artifact
but it would be nice to do this during the publishing process itself.