TFS构建使用相对路径

时间:2012-10-23 18:32:14

标签: tfsbuild

在我目前正在使用的项目中,我们大量使用post build事件和相对路径引用。即我们将所有的解决方案间引用实现为具有相对路径的dll引用,其中引用解决方案使用post build事件将二进制文件删除。

这在visual studio enviornmnet中运行良好,现在我们正在寻找一种自动构建源代码并创建每日二进制删除的方法。 TFS构建似乎不适合相对路径引用。

有什么快速解决方案吗?我无法相信这是如此复杂,因为我们只需要安排一个构建来获取最新的源代码,构建它来视觉工作室定义并将二进制文件放到共享文件夹中。

非常感谢

2 个答案:

答案 0 :(得分:3)

我看到很多项目在与TFS Build System一起使用时会使用post build事件中断。此问题通常源于Visual Studio将$(OutDir)变量传递给MSBuild引擎的方式与TFS Build引擎的方式不同。基本上,当你在Visual Studio中编译时,$(OutDir)路径(通常)设置为bin \ debu或bin \ release,而在TFS BUild系统中,它被设置为构建发生的构建机器上的Binaries目录。 / p>

如果这对你的构建造成了影响,那么有几种方法可以解决这个问题。

方法1

  1. 确保您的帖子构建事件不依赖于硬编码路径 .. \ bin \ release等,而不是你使用bin \ debug或 bin \ release使用$(OutDir)
  2. 转到解决方案文件的路径 正在构建使用$(SolutionDir)或$(solutionPath)
  3. 使用列表here对路径变量进行必要的更改 你的构建脚本
  4. 方法2

    1. 使用此链接here自定义您的构建模板 使用visual studio的编译模式。你不应该这样做 更改您的帖子构建事件,以使其发挥作用。

答案 1 :(得分:0)

尼基尔,谢谢。我最终选择使用巡航控制,因为它比TFS构建更容易和灵活。我的意思是它只是一个构建,对于像我们这样的小团队,我们并不真正关心那些工作流程和复杂的需求。