我有一个带有许多项目的visual studio解决方案。配置管理器经过仔细配置,可以构建除一个项目之外的所有项目(跳过的项目是测试项目)。在命令行构建解决方案后,我得到了以下结果:
“生成XXX调试|x64”
-跳过的版本:项目: AAA
-跳过的版本:项目: BBB,配置:调试Win32
未选择要为此解决方案配置生成的项目
- Build started:项目: CCC,配置: YYY调试ia64
<开始构建>
正如你所看到的,项目BBB被跳过,因为它在配置管理器中没有被选中,项目CCC和rest build ok,项目AAA被跳过而没有给出任何原因。有人知道为什么visual studio会无缘无故地跳过项目构建吗?所有配置名称( XXX、YYY调试、调试)和平台( x64 / Win32 / ia64 )都在配置管理器中正确配置。
发布于 2009-03-01 19:29:45
是否为配置调试|x64选择了项目AAA?
此外,当新下载的解决方案(没有.soa文件)使用安腾的默认配置时,我也遇到了同样的情况,因此所有没有它支持的系统都会跳过所有解决方案项目进行构建。只有在手动选择win32之后,才能启动正确的构建。
发布于 2009-03-01 22:30:45
使用MSBUILD.exe从命令行运行项目,并设置日志记录(详细)=详细或诊断的参数。然后你应该让我得到更多的输出,告诉你为什么msbuild考虑跳过有问题的那个。例如:
msbuild XXXX.csproj /verbosity:detailed
注意:诊断输出非常非常冗长
发布于 2009-03-01 22:37:33
Visual Studio中的正常构建是增量的:如果Visual Studio认为任何源文件都没有更改,它将跳过构建项目-请注意,它只检查代码文件,而不是资源或其他“东西”。
尝试进行一次干净的构建,方法是选择Build|Clean Solution,然后选择Build|Rebuild Solution,看看是否会得到相同的结果。
您可能需要手动清理每个项目的构建工件(默认情况下,每个项目目录中的\Bin\和\Obj\子目录)。
https://stackoverflow.com/questions/600332
复制相似问题