【发布时间】:2012-12-08 09:21:31
【问题描述】:
我正在做一个将 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。谢谢!
【问题讨论】:
-
你能提供更多细节吗?项目是否从 Visual Studio IDE 正确构建?您使用的是哪个构建模板?您是否使用自定义任务等?
-
嗨,约翰。我正在使用升级模板,确实构建了解决方案(请参阅上面添加的说明),并且我确实有一些自定义任务,但它们影响不大。
-
如果解决方案在本地构建,我建议尝试更新的构建模板。它不会包含您的自定义任务,但它会是一个很好的自定义开始。