我最近升级了我的IDE,但不是我的编译器从VS2010升级到VS2012,现在我遇到了我的一个解决方案的问题。当我尝试构建它时,我得到以下消息。
项目文件已重命名或不再出现在解决方案中
当我尝试构建单个项目时,我会收到消息
构建已在进行中
我尝试删除并重新添加所有项目,但这没有用。我甚至创建了一个包含所有相同项目的全新解决方案,但是当我尝试构建时,我得到了与原始解决方案相同的错误。
我读过很多人都有类似的问题,但到目前为止他们的解决方案都没有帮助我。
一个建议是看看是否有任何项目缺少参考,但我不完全确定如何去做。
我尝试删除引用并重新添加它们,但每次我尝试重新添加它们时都会出现相同的错误“项目文件已被重命名或已不在解决方案中”
任何帮助或建议都会很棒!
答案 0 :(得分:66)
我遇到了同样的问题,并通过确保其他项目引用的每个项目都包含在解决方案中来解决它。
右键单击第一个项目,选择References ...并确保包含References下列出的每个项目。转到下一步并执行相同操作。
这解决了我的问题,“项目文件''已重命名或不再在解决方案中”。不确定“构建是否已在进行中”的问题。
答案 1 :(得分:9)
我可以确认_mantrill的情景。 (发布作为答案,因为这不适合评论。)
在我的解决方案中,项目A引用了项目B.出于某种原因,项目B的项目GUID已更改。 (我知道这可能发生,我没有调查在我们的情况下导致它的原因。)解决方案文件具有项目B的正确的新GUID,但是在项目A的项目文件中,对项目B的引用仍然具有旧的GUID。
通过在解决方案资源管理器中卸载和重新加载项目,我发现项目A导致“项目文件”已重命名或不再在解决方案中。“找到后,手动更新项目B项目文件中的项目B的GUID修复了问题。
详细说明:
ProjectB.vcxproj
<PropertyGroup Label="Globals">
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</ProjectGuid>
</PropertyGroup>
在过去的某个时刻,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>
ProjectA.vcxproj - 手动编辑后,现在有效:
<ItemGroup>
<ProjectReference Include="..\ProjectB\ProjectB.vcxproj">
<Project>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</Project>
</ProjectReference>
:
</ItemGroup>
答案 2 :(得分:2)
当我有两个针对不同产品的解决方案文件但是有几个共同的项目时,我似乎遇到了这个问题。这些是我在VS2012首次开放的VS2010项目。打开第一个项目时,所有项目都已转换。然后在加载第二个问题时出现问题,因为某些项目已经被转换。似乎项目引用已在第一个解决方案中更新,但是对于第二个解决方案,它必须处理更新某些项目,但使用已更新的常见项目版本。
最后,要解决它,我必须删除然后重新添加几个项目(以及项目引用),这似乎可以解决它。同样值得删除构建文件夹和其他临时文件(例如.suo),因为某些文件的状态会影响项目引用问题(我真的没想到)。
答案 3 :(得分:2)
此问题通常由项目版本转换器引起。
协议是解决方案中的引用项目不再是解决方案(正如我所说,原因是转换或手动删除时出现问题)。 / p>
所以你必须看到所有项目引用(Right click on the project -> "References..."
)和检查解决方案中是否存在每个引用的项目 - 否则将缺少的项目添加到解决方案中或删除修饰符无效。
这个awnser基于现有的awnser: https://stackoverflow.com/a/14722733/1107020
答案 4 :(得分:2)
删除.suo并重新加载后从VSO移动到现场TFS有一些问题
The project file has been moved renamed or not on your computer
答案 5 :(得分:1)
恰好一次,起初我不相信这些措施&#34;确保那里的所有参考文献&#34;很成功。
最后,我尝试检查所有项目,尤其是解决方案I中的Web项目, 说真的没有用。我删除了引用,瞧,它有效!
答案 6 :(得分:0)
我有相同的症状,但原因非常不同,因此也有分辨率。
从VS 2003迁移=&gt; 2005&GT; =&GT; 2008 =&gt; 2010 =&gt; 2012年,在最后一步, Resources.resx 文件消失了。因此消息
&#34;项目文件&#39;&#39;已重命名或已不再使用 。溶液&#34;
对我而言,它不是&#34; 项目文件&#34;,而是&#34; 项目文件&#34;。 (有些人说语法并不重要。)
我找到了缺少的 Resources.resx 文件,一切都很适合我。
答案 7 :(得分:0)
将项目复制到另一个文件夹并重新打开时,我遇到了问题 最后我通过以下方式解决了这个问题: 1.右键单击项目 2.打开参考选项 3.删除页面中的参考项目
答案 8 :(得分:0)
确保解决方案中的所有项目文件(* .vcxproj)都在其中定义了匹配的GUID,如下所示:
<PropertyGroup Label="Globals">
<ProjectGuid>{B4D8DE30-8DCC-85FC-ABFE-3ED6S9F873C0}</ProjectGuid>
</PropertyGroup>
出于某些奇怪的原因,从VS2008转换而来的项目并没有这样,VS2010坚持要更换所有项目&#39;每次加载解决方案时,解决方案文件中的GUID ,但从未实际添加项目文件。