Visual Studio 2012项目文件""已重命名或不再在解决方案中

nas*_*iar 45 c++ visual-studio visual-studio-2012

我最近升级了我的IDE,但不是我的编译器从VS2010升级到VS2012,现在我遇到了我的一个解决方案的问题.当我尝试构建它时,我得到以下消息.

项目文件已重命名或不再在解决方案中

当我尝试构建单个项目时,我会收到消息

构建已在进行中

我已经尝试删除并重新添加所有项目,但这没有用.我甚至创建了一个包含所有相同项目的全新解决方案,但是当我尝试构建时,我得到了与原始解决方案相同的错误.

我读过很多人都有类似的问题,但到目前为止他们的解决方案都没有帮助我.

一个建议是看看是否有任何项目缺少参考,但我不完全确定如何去做.

我尝试删除引用并重新添加它们,但每次我尝试重新添加它们时都会出现相同的错误"项目文件'已重命名或不再在解决方案中"

任何帮助或建议都会很棒!

Arv*_*sen 69

我遇到了同样的问题,并通过确保其他项目引用的每个项目都包含在解决方案中来解决它.

右键单击第一个项目,选择References ...并确保包含References下列出的每个项目.转到下一步并执行相同操作.

这解决了我的问题,"项目文件''已重命名或不再在解决方案中".不确定"构建是否已在进行中"的问题.

  • 好的,找到了方法.使用msbuild从命令行构建它,错误消息将包含缺少的项目. (6认同)
  • 这确实解决了这个问题,但我真的很讨厌这个问题......这个消息并不清楚,我个人更喜欢定制解决方案,只包括我需要处理的几个项目,它整洁/干净,构建速度快 (3认同)
  • 有没有办法实现自动化?我的解决方案中有100个以上的项目. (3认同)

小智 9

我可以确认_mantrill的情景.(发布作为答案,因为这不适合评论.)

在我的解决方案中,项目A引用了项目B.出于某种原因,项目B的项目GUID已更改.(我知道这可能发生,我没有调查在我们的情况下导致它的原因.)解决方案文件具有项目B的正确的新GUID,但是在项目A的项目文件中,对项目B的引用仍然具有旧的GUID.

通过在解决方案资源管理器中卸载和重新加载项目,我发现项目A导致" 项目文件''已重命名或不再在解决方案中. "一旦找到,手动更新项目A的项目文件中的项目B的GUID修复了问题.

细节:

ProjectB.vcxproj

<PropertyGroup Label="Globals">
    <Keyword>Win32Proj</Keyword>
    <ProjectGuid>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</ProjectGuid>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

在过去的某个时刻,ProjectB的ProjectGuid曾经是{d6f1934a-905f-77ca-49c0-164b2171a0f6}.它现在{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}.

ProjectA.vcxproj - 之前,导致" 项目文件''已重命名或不再在解决方案中. "

<ItemGroup>
    <ProjectReference Include="..\ProjectB\ProjectB.vcxproj">
        <Project>{d6f1934a-905f-77ca-49c0-164b2171a0f6}</Project>
    </ProjectReference>
    :
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

ProjectA.vcxproj - 手动编辑后,现在可以正常工作:

<ItemGroup>
    <ProjectReference Include="..\ProjectB\ProjectB.vcxproj">
        <Project>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</Project>
    </ProjectReference>
    :
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)