TFS 2015 Publish Build Artifacts in one directory

蓝咒 提交于 2019-11-28 03:05:06

问题


We have just upgraded from TFS 2010 to TFS 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.


回答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




回答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:

MsBuild Helper Task

Visual Studio Build / MsBuild Task




回答3:


Also please try giving this MSBuild argument

 /p:GenerateProjectSpecificOutputFolder=true /p:OutDirWasSpecified=true
 /p:OutputPath=$(Build.BinariesDirectory)


来源:https://stackoverflow.com/questions/34852472/tfs-2015-publish-build-artifacts-in-one-directory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!