如何在 TFS 2013 构建定义中使用默认项目输出位置?

How to use default project output locations in TFS 2013 build definition?

我有一个包含多个 VC++ 项目的解决方案。我正在尝试让 TFS 每周构建一次。我已经设置了 TFS 构建控制器和代理。我使用 DefaultTemplate.xaml 文件创建了构建定义,我可以成功构建一些项目。

问题是我的项目依赖于一些已经签入 debug/release 文件夹的库。 TFS 正在尝试将项目输出(dll 和 exe)放入 $(SolutionDir)\Binaries 目录。由于此位置不存在依赖库,因此 TFS 构建失败。

我想做的是使用我自己的项目输出位置,并以某种方式将输出文件复制到服务器中的某个位置。

我该怎么做?

谢谢

我建议编辑您的构建定义。在流程部分下,将 MSBuild 参数设置为

/p:GenerateProjectSpecificOutputFolder=true

如下:

  1. 不建议将库签入TFS,可以使用Nuget恢复包。

  2. 对于构建输出,您可以在构建定义中指定放置文件夹并将输出复制到放置文件夹。

  1. 您还可以签入复制输出的脚本,并在 XAML 构建定义中指定 post-build 脚本路径。 This 脚本从典型位置收集一些典型的二进制类型,并将它们复制到 TFBuild 从中复制并放到暂存位置的文件夹。在 XAML 构建过程中查看有关 运行 脚本的更多信息,请访问网站: https://msdn.microsoft.com/library/dn376353%28v=vs.120%29.aspx