2

我正在做一个将 TFS 2008 迁移到 TFS 2012 的概念证明。建立 TFS 2012 并不是很困难,但我在建立一个新的构建服务器时遇到了一些麻烦。在把我的头从墙上敲下来之后,似乎 MSBuild 正在无序地构建我的项目,这完全破坏了构建。现在我阅读了微软的文章,说这在 NETFX4.5 中得到了纠正,但我的两台服务器都安装了 4.5,这个问题仍然存在。在 MSBuild 3.5 中,此问题不存在。我得到的具体错误是:CS0006:找不到元数据文件[程序集]。

如果我直接在 VS2008 中的构建服务器上构建解决方案,则有问题的项目构建良好。当我进行与文件名过长相关的构建时,我确实遇到了一些例外情况,但这是在我实际构建冒犯 MSBuild 的项目之后很久。此外,我可以干净地构建有问题的项目。

我确实有几个自定义任务,但它们影响不大。

是否有针对 MSBuild 3.5 而不是 MSBuild 4 运行构建?或者有没有一种简单的方法来纠正这个问题,以便我可以使用 MSBuild 4?我在 TFS2012 中使用 UpgradeTemplate。谢谢!

4

1 回答 1

0

我会检查两件事

  1. 验证列为缺失的程序集是否实际构建并存在
  2. 如果这是真的,请验证列为缺失的 dll 是否标记为当前抛出 CS006 错误的项目的依赖项(确保将首先编译它)
于 2012-12-21T00:03:57.010 回答