代码之家  ›  专栏  ›  技术社区  ›  Tom Kidd

为什么有些解决方案不能完全用tfs构建?

  •  1
  • Tom Kidd  · 技术社区  · 16 年前

    我注意到TeamFoundationServer2008中的一些解决方案无法完全构建。如中所述,解决方案中的一些项目成功,但有一个项目失败。这个失败的项目说我缺少一个程序集引用。但我不是-这个项目有参考资料。它在我的电脑上构建得很好。我正在查看生成代理下载的.csproj文件,它也有引用(它是一行行一行地与我正在构建的项目相同)。

    所讨论的参考是解决方案中的另一个项目。一开始我以为它没有按正确的顺序构建项目,但是构建日志告诉我它已经按照正确的顺序构建了项目(即,引用所引用的项目已成功构建)。因此,我的猜测是,在这个项目上(我会说,我让它构建的项目中,大约有10-20%都失败了),它为程序集寻找了错误的文件夹,但我不知道。

    以前有人看过吗?

    我确实有一个解决方案,就是按照错误的顺序构建东西,一些谷歌搜索似乎表明,这是将vs2003 sln文件转换为vs2008 sln文件(也在visual studio中发生)的偶然副作用,因此在这种情况下,我从头创建了一个新的sln,在有问题的sln的“顶部”中检查了这个问题,而且效果很好。但我在上面的问题中试过了,没有什么不同。

    2 回复  |  直到 16 年前
        1
  •  0
  •   Graeme Bradbury    16 年前

    我在多核计算机上见过,在这些计算机上,项目依赖项没有正确设置,这意味着tfs在项目依赖项完成编译之前就开始了项目编译。

        2
  •  0
  •   Richard Berg    15 年前

    一开始我以为它没有按正确的顺序构建项目,但是构建日志告诉我它已经按照正确的顺序构建了项目(即,引用所引用的项目已成功构建)。

    定义“成功构建”。特别是,确保调用了corecompile目标并运行完成。我见过在引用的项目上构建不同目标的情况,但该目标不足以生成依赖项目所需的输出。例如,包含silverlight控件的web项目将调用silverlight项目上的getxapoutpfile目标,这很好,但不能替代corecompile。

    如果此提示不足以解决您的问题,您可能应该发布指向日志和/或msbuild生成文件的链接。