为什么我的解决方案在Visual Studio中可以构建,但在使用msbuild的命令行中却不能构建?

5
如果任何人有任何想法从哪里开始解决这个问题,我很乐意听取意见。我刚刚将我的项目升级到VS2012、Wix 3.6和.NET 4.5,但是每当我尝试使用命令行(msbuild)构建我的项目时,我会出现约2000个错误:http://i.imgur.com/WSi7X.png
从Visual Studio中构建是可以的,但是当从命令行调用msbuild时,我会得到一堆错误信息,就像这样:http://pastie.org/5102451

1
在您添加VS2012之前,它是否在命令行中工作?您是使用VS2010命令提示符还是VS2012命令提示符? - Marc Gravell
当我提到使用命令提示符时,我指的是cmd.exe,并使用我在原始帖子中引用的命令(pastie.org链接)。如果我误解了你的意思,对不起。 - user479911
顺便说一句,是的,在升级之前,它确实可以从命令行工作。 - user479911
1个回答

0

您应该确保在msbuild文件中使用正确的工具版本:

如何在文件内部使用MSBuild强制指定工具版本?

这可能不是问题,但我经常发现当团队迁移到新的.net运行时并使用msbuild时,这会使其他人感到困惑。

== 编辑 ==

抱歉刚刚注意到您直接在命令行上运行它而不是通过某个构建脚本,因此上述解决方案可能不是100%相关,但仍可能是执行的MSBuild版本无法处理您的.net运行时,因为只需要一个项目构建失败,然后所有依赖项目都将失败,从而给出1000多个随机错误,而实际上只有一个有意义的错误需要解决。


我尝试使用/tv:4.0运行无法工作的命令(即pastie.org链接),但是仍然出现相同的错误。 - user479911
可能是由于命令行中的 Any CPU 类型无效,我之前遇到过很多问题,例如在 IDE 中构建为 X86,但基于底层操作系统,它将尝试在命令行上构建 x64,因此请尝试更改为 x86。还要确认在构建配置中,所有这些项目都已选中以构建此配置的框。 - Grofit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接