2009-03-01 34 views
4

我有许多项目的visual studio解决方案。 配置管理器经过精心配置,可以构建除一个之外的所有项目(跳过的项目是测试项目)。建设命令行的解决方案后,我得到了以下几点:visual studio 2005:跳过构建原因不明?

“建设XXX调试| 64”

------跳过生成:项目:AAA ------

- ----跳过生成:项目:BBB,配置:调试的Win32 ------

项目没有选择建立该解决方案配置

------构建开始:项目:CCC ,配置:YYY Debug ia64 ------

<这里去建立>

正如你所看到的,项目将BBB becouse它不是在配置管理,项目CCC选择休息,以增强确定,项目AAA将被跳过,未给出原因跳过。任何人都知道为什么Visual Studio可能会无缘无故地跳过项目构建?在配置管理器中正确配置所有配置名称(XXX,YYY Debug,Debug)和平台(x64/Win32/ia64)。

+0

可能的重复[如何确定为什么visual studio可能会在构建解决方案时跳过项目](http://stackoverflow.com/questions/1319772/how-to-determine-why-visual-studio-might-be -skipping-projects-when-building-a-so) – FrequentGuest 2017-05-11 07:35:32

回答

3

项目AAA是否被选中用于配置Debug | x64?

此外,当新下载的解决方案(不带.soa文件)具有默认配置给Itanium时,我也遇到了同样的情况,所以没有其支持的所有系统都跳过了要构建的所有解决方案项目。只有在手动选择win32后才能正确构建。

+0

yes,AAA被选为“Debug | x64”来构建“AAA Debug | ia64”。它完美地构建在IDE内部。 – grigoryvp 2009-03-01 19:38:01

+0

好的。你如何用命令行编译你的解决方案?使用devenv.exe/..或msbuild.exe/..? – abatishchev 2009-03-01 22:26:14

+0

devenv.exe,它捆绑vs2005 – grigoryvp 2009-03-02 06:27:56

0

使用MSBUILD.exe从命令行运行项目并设置日志(详细)=详细或诊断的参数。然后你应该给我更多的输出,告诉你为什么msbuild考虑跳过那个问题。例如

msbuild XXXX.csproj /详细:详细

Nb。诊断输出非常非常详细

0

Visual Studio中的常规构建是增量式的:如果Visual Studio认为没有任何源文件发生更改,它将跳过构建项目 - 请注意,它仅检查代码文件,而不检查资源或其他“东东”。

尝试通过选择Build|Clean Solution然后Build|Rebuild Solution做一个干净的生成,看看你是否得到相同的结果。

您可能需要手动清理每个项目的构建工件(默认情况下,每个项目目录中的\Bin\\Obj\子目录)。