项目导入后无法构建Visual Studio 2012 C ++解决方案

时间:2015-10-01 12:27:40

标签: visual-studio visual-studio-2012 visual-c++-2012

我使用Visual Studio 2012 Premium(版本11.0.61219.00 Update 5)。有一些项目的C ++解决方案。一切都可以毫无错误地构建。然后我将一个新的(但已经存在的)项目导入到此解决方案中(通过右键单击 - > Add - > Existing Project...)。如果我现在尝试构建此项目或任何其他先前项目,则会显示一条错误消息:"Cannot perform requested action because a build is already in project"(这不是真的,没有正在运行的构建)。

enter image description here

如果我尝试重建完整的解决方案,则会显示另一条消息:"The operation could not be completed. Wrong parameter."

enter image description here

同时,输出视图中根本没有错误或警告。而是给出了构建摘要,看起来没问题。

Build Summary
-------------

Total build time: 00:12.379

========== Rebuild All: 0 succeeded or up-to-date, 0 failed, 12 skipped, Completed at 30.09.2015 17:15:58 ==========

enter image description here

这里有什么问题?该项目似乎完好无损,我可以打开并查看属性,没有任何可疑之处。实际上,我以相同的方式从同一个原点导入了其他11个项目。我在哪里可以获得一些Visual Studio日志文件或打开任何可以指向正确方向的扩展诊断? 帮助我,我被困住了!

1 个答案:

答案 0 :(得分:0)

我们现在弄清楚这种行为的原因是什么。 &#34;有罪&#34;项目包含对解决方案中其他项目的引用。其他项目也做了(并且有效);但是此特定引用的项目GUID与引用项目的实际GUID不一致。如果我们在文本编辑器中查看* .vcxproj文件的内容,我们会在<Project>元素(s。屏幕截图)中找到此GUID作为嵌套<ProjectReference>元素。

enter image description here

正如我在评论中提到的,所有项目都是使用以域特定语言编写的外部规范生成的。生成器机制中存在一个微妙的错误,在某些条件下会导致错误的GUID引用。

然而,令我惊讶的是,Visual Studio没有为这样一个明显的问题显示任何易于理解的错误消息!如果参考项目的路径不正确,Studio会通过粗体excamation标记(s。屏幕截图)指出这一点。如果GUID无效,为什么不这样做呢?我们花了几个小时来诊断这个小事。

enter image description here

相关问题