为什么有些解决方案没有完全用TFS构建?

时间:2009-03-05 15:31:47

标签: tfs tfs2008

我注意到Team Foundation Server 2008中的某些解决方案无法完全构建。如同,解决方案中的一些项目成功但后来失败了。特定的失败项目说我缺少一个装配参考。但我不是 - 该项目有参考。它在我的电脑上很好用。我正在查看构建代理程序下拉的.csproj文件,它也有引用(它与我正在构建的项目的行代码相同)。

有问题的参考是解决方案中的另一个项目。起初我以为它不是以正确的顺序构建项目,但构建日志告诉我它确实(即,引用成功构建引用的项目)。所以我的猜测是,不知何故在这个项目上(我说大约有10-20%的项目我正在构建它们都失败了)它正在查看错误的文件夹组件,但我不知道。

有没有人见过这个?

我确实有一个解决方案正在以错误的顺序构建东西,一些谷歌搜索似乎表明这是将VS2003 SLN文件转换为VS2008 SLN文件的偶然副作用(并且它在Visual Studio中发生了好吧),所以在那种情况下,我从头开始制作一个新的SLN,在问题的“顶部”检查,并且它工作正常。但是我在上面的问题中试过这个并没有什么区别。

2 个答案:

答案 0 :(得分:0)

我在多核机器上已经看到了项目依赖关系尚未正确设置,这意味着tfs在依赖项完成编译之前启动项目编译。

答案 1 :(得分:0)

  
    

起初我认为它不是以正确的顺序构建项目,但构建日志告诉我它确实(即,引用成功构建的引用的项目)。

  

定义“已成功构建”。特别是,确保调用CoreCompile目标并运行完成。我已经看到了构建引用项目的不同目标的情况,但该目标不足以生成所需的依赖项目的输出。例如,包含Silverlight控件的Web项目将调用Silverlight项目上的GetXapOutputFile目标 - 这很好并且很好。花花公子,但它不能取代CoreCompile。

如果这个线索不足以解决您的问题,您应该发布一个指向日志和/或msbuild makefile的链接。