我有两个TFS 2010构建定义,我用于夜间构建并具有计划触发器:
Build 1构建了一个输出一些二进制依赖项(dll文件)的解决方案,并使用依赖关系复制将这些文件检入另一个解决方案Lib文件夹。使用评论Dependency Replication ***NO_CI***
Build 2构建第二个使用构建1生成的dll的解决方案。
问题是当Build 2按计划触发时,它不包含Build 1生成的最新二进制文件。作为调试的一部分,我已确认:
如果我在不进行任何其他更改的情况下手动触发Build 2,则它会正确使用Build 1中检入Lib目录的最新文件。
手动触发器和预定触发器之间有什么区别吗?我在其他文章中看到过这个问题可能与工作空间有关而没有找到与之相关的任何解决方案。
答案 0 :(得分:0)
我解决了这个问题,选择构建,即使自上次构建以来没有任何变化,也是计划触发器的一部分:
即使某些内容发生了变化(Build 1中的dll已经签入)并且构建已按计划运行,但似乎通过检查此选项它强制TFS获取所有源代码,包括它之前没有得到的dll和重建。