我的buildbot已经运行了3年,使用devenv.com在Windows上编译项目。
现在,devenv.com很难为64位版本构建:将配置传递为“Debuchx64”将生成命令行错误,这是因为管道字符造成的。在引号之间转义和括起来会导致其他错误,有些是因为目录名称中的空格,有些是因为奇怪的命令行。
我试过vcbuild.exe和MSBuild.exe。vcbuild.exe工作得很完美:我想坚持到底。MSBuild.exe,在另一方面,有一个完全奇怪和复杂的输出,我的同事感到很糟糕。但它在任何地方都被吹捧为建设的方式。
问题是:在devenv.com、vcbuild.exe和MSBuild.exe中,哪种方法最有可能在时间上持续?
发布于 2010-02-11 18:53:25
MSBuild (在Visual 2010/.NET 4之前)本身并不构建C++项目。它呼唤着vcbuild.exe。因此,如果您不愿意使用MSBuild,那么对于C++项目,我会坚持这样做。对于托管项目(对于使用VS 2010的C++ ),使用MSBuild。
发布于 2010-06-01 14:20:20
我遇到了同样的问题,并通过Windows-shell-转义管道字符来解决这个问题:
"Debug^|Win32"发布于 2010-06-19 03:53:13
MSBuild是“最有可能持续”的方法。VCBuild.exe已经死了,它最后一次发布是在2008年。如果MSBuild 4.0需要从VS2008或更早版本构建一个VC项目,它仍将使用它。至于devenv.exe --当然,它只是无头的Visual。在功能上,这与在VS中点击build是一样的。这意味着,现在,它基本上只是传递给MSBuild,但有时它的并行性比msbuild.exe要小。您可能仍然必须使用devenv.exe的主要原因是.vdproj (部署)项目。这些遗留的东西有一个硬编码成VS的构建过程。我推荐一种替代方案,如WiX或Installshield,这是基于MSBuild的。现在,在VS中构建的所有东西都是MSBuild。
简而言之-- MSBuild是未来,除非您有部署项目或其他特殊情况,否则使用它。
丹
https://stackoverflow.com/questions/2245078
复制相似问题