代码之家  ›  专栏  ›  技术社区  ›  ovm

TFS 2015在一个目录中发布生成项目

  •  10
  • ovm  · 技术社区  · 10 年前

    我们刚刚从升级 TFS 2010 到 TFS 2015 我正在以“vNext”构建/工作流格式重新创建XAML构建定义。

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

    在新的TFS 2015构建框架中,这仍然可行吗?

    我有以下内容 Publish Build Artifact -设置:

    Artifact Type: File Share

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

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

    作为一种解决方法,我目前正在使用Powershell步骤来完成此操作 发布生成项目 但在出版过程中这样做会很好。

    3 回复  |  直到 9 年前
        1
  •  7
  •   Community Mohan Dere    9 年前

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

        2
  •  4
  •   jessehouwing    9 年前

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

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

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

    或者你可以用我的 MsBuild Helper task 从Visual Studio Market Place配置输出路径,然后添加 $(MsBuildAdditionalArguments) 变量添加到MsBuild或Visual Studio Build的其他参数输入:

    MsBuild帮助程序任务 enter image description here

    Visual Studio生成/MsBuild任务 enter image description here

        3
  •  1
  •   jessehouwing    8 年前

    另外,请尝试提供此MSBuild参数

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