【问题标题】:TFS 2015 Publish Build Artifacts in one directoryTFS 2015 在一个目录中发布构建工件
【发布时间】:2016-04-23 11:46:55
【问题描述】:

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

在旧版本中,可以将所有文件(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 步骤执行此操作,但在发布过程中执行此操作会很好。

【问题讨论】:

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


    【解决方案1】:

    您可以使用“复制文件”任务并在其中指定源文件夹来实现此功能。详情见这个问题:Copy one file in target directory on deploy from visual studio team services

    【讨论】:

      【解决方案2】:

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

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

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

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

      MsBuild 助手任务

      Visual Studio 构建/MsBuild 任务

      【讨论】:

        【解决方案3】:

        另外请尝试给出这个 MSBuild 参数

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

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-04
        • 2016-09-09
        • 2018-07-04
        • 1970-01-01
        • 1970-01-01
        • 2018-11-01
        • 1970-01-01
        • 2016-07-01
        相关资源
        最近更新 更多