TFS 2015 将构建产物发布到一个目录中

10
我们刚从 TFS 2010 升级到 TFS 2015,我正在使用“vNext”构建/工作流格式重新创建 XAML 构建定义。
在旧的构建中,可以将所有文件(DLL)平铺输出到单个目录中,而不是它们的原始目录结构。
新的 TFS 2015 构建框架是否仍支持此功能?
我有以下 “发布构建工件” 设置: 工件类型:文件共享 路径:\\server\tfslib\$(Build.DefinitionName)\$(Build.DefinitionName)_$(Build.BuildNumber) 问题在于,指定在Path 中的输出目录中保留了原始解决方案目录结构。如何获得没有整个子树的输出?
目前,我正在使用 Publish Build Artifact 后面的 Powershell 步骤来解决这个问题,但希望在发布过程中自动实现。
3个回答

7

4
这仍然是可能的,你可以将以下命令行参数传递给你的Visual Studio Build或MsBuild任务:
/p:OutputPath="$(Build.BinariesDirectory)"

这将指示构建任务将所有输出重定向到二进制目录,就像您从旧的XAML构建中习惯的那样。
或者您可以使用我在Visual Studio Market Place中提供的MsBuild Helper task来配置输出路径,然后将$(MsBuildAdditionalArguments)变量添加到您的MsBuild或Visual Studio Build的附加参数输入中: MsBuild Helper Task enter image description here Visual Studio Build / MsBuild Task enter image description here

1
同时,请尝试使用此MSBuild参数。
 /p:GenerateProjectSpecificOutputFolder=true /p:OutDirWasSpecified=true
 /p:OutputPath=$(Build.BinariesDirectory)

我认为这在Visual Studio 2015/MsBuild 14及以上版本中已经不再适用了:https://social.msdn.microsoft.com/Forums/vstudio/en-US/43dcc9cf-8eff-43e2-9292-eeecd1ff3bcf/msbuild-14-generateprojectspecificoutputfolder?forum=tfsbuild - jessehouwing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接