我们刚刚从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步骤执行此操作,但在发布过程中执行此操作本身会很好。
答案 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>
答案 2 :(得分:1)
另请尝试提供此MSBuild参数
/p:GenerateProjectSpecificOutputFolder=true /p:OutDirWasSpecified=true
/p:OutputPath=$(Build.BinariesDirectory)