TFS 2015在一个目录中发布构建工件

时间:2016-01-18 10:29:33

标签: visual-studio-2015 tfs msbuild tfs2015 azure-pipelines

我们刚刚从TFS 2010升级到TFS 2015,我正在" vNext"中重新创建XAML-Build-Definition建立/工作流格式。

在旧的Build中,可以将所有文件(DLL)平放在一个目录中,而不需要原始目录结构。

新的TFS 2015 Build框架仍然可以实现这一目标吗?

我有以下Publish Build Artifact - 设置:

Artifact Type: File Share

Path: \\server\tfslib\$(Build.DefinitionName)\$(Build.DefinitionName)_$(Build.BuildNumber)

问题是原始解决方案目录结构保留在Path中指定的输出目录中。如何在没有整个子树的情况下获得输出?

作为一种解决方法,我目前正在使用Publish Build Artifact之后的Powershell步骤执行此操作,但在发布过程中执行此操作本身会很好。

3 个答案:

答案 0 :(得分:7)

您可以使用“复制文件”任务并在其中指定源文件夹以实现此功能。有关详细信息,请参阅此问题:Copy one file in target directory on deploy from visual studio team services

答案 1 :(得分:4)

这仍然可以,您可以将以下命令行参数传递给Visual Studio Build或MsBuild任务:

/p:OutputPath="$(Build.BinariesDirectory)"

这将指示构建任务将所有输出重定向到二进制目录,就像您习惯使用旧的XAML构建一样。

或者您可以使用Visual Studio Market Place中的MsBuild Helper task来配置输出路径,然后将$(MsBuildAdditionalArguments)变量添加到您的MsBuild或Visual Studio Build的其他参数输入中:< / p>

MsBuild助手任务 enter image description here

Visual Studio Build / MsBuild任务 enter image description here

答案 2 :(得分:1)

另请尝试提供此MSBuild参数

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