TFS 2015 在一个目录中发布构建工件
TFS 2015 Publish Build Artifacts in one directory
我们刚刚从 TFS 2010
升级到 TFS 2015
,我正在 "vNext" build/workflow-format 中重新创建 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 步骤执行此操作,但最好在发布过程中执行此操作。
您可以使用"Copy File"任务并在其中指定源文件夹来实现此功能。有关详细信息,请参阅此问题:
这仍然是可能的,您可以将以下命令行参数传递给您的 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 任务
另外请尝试给出这个 MSBuild 参数
/p:GenerateProjectSpecificOutputFolder=true /p:OutDirWasSpecified=true
/p:OutputPath=$(Build.BinariesDirectory)
我们刚刚从 TFS 2010
升级到 TFS 2015
,我正在 "vNext" build/workflow-format 中重新创建 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 步骤执行此操作,但最好在发布过程中执行此操作。
您可以使用"Copy File"任务并在其中指定源文件夹来实现此功能。有关详细信息,请参阅此问题:
这仍然是可能的,您可以将以下命令行参数传递给您的 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 任务
另外请尝试给出这个 MSBuild 参数
/p:GenerateProjectSpecificOutputFolder=true /p:OutDirWasSpecified=true
/p:OutputPath=$(Build.BinariesDirectory)