46

我最近升级了我的 IDE,但没有将我的编译器从 VS2010 升级到 VS2012,现在我的解决方案之一遇到了问题。当我尝试构建它时,我收到以下消息。

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

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

构建已经在进行中

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

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

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

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

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

4

9 回答 9

70

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

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

这解决了我的“项目文件''已重命名或不再在解决方案中”的问题。不确定“构建已在进行中”的问题。

于 2013-02-06T06:13:43.097 回答
9

我可以确认 the_mantrill 的情况。(作为答案发布,因为这不适合评论。)

在我的解决方案中,项目 A 引用了项目 B。出于某种原因,项目 B 的项目 GUID 发生了变化。(我知道这可能会发生,我没有调查在我们的案例中是什么原因造成的。)解决方案文件具有项目 B 的正确新 GUID,但在项目 A 的项目文件中,对项目 B 的引用仍然具有旧 GUID。

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

细节:

项目B.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>
于 2013-07-11T18:00:06.010 回答
2

从 VSO 迁移到现场 TFS 后,删除 .suo 并重新加载对我有用有一些问题

项目文件已被移动重命名或不在您的计算机上

于 2014-10-08T21:37:03.003 回答
2

当我有两个针对不同产品的解决方案文件时,我似乎出现了这个问题,但它们有几个共同的项目。这些是我在 VS2012 中第一次打开的 VS2010 项目。打开第一个时,所有项目都已转换。然后在加载第二个时出现问题,因为一些项目已经转换。似乎项目引用在第一个解决方案中已更新,但对于第二个解决方案,它必须处理更新一些项目但使用公共项目的已更新版本。

最后,为了解决它,我不得不删除然后重新添加几个项目(以及项目引用),这似乎解决了问题。删除构建文件夹和其他临时文件(例如 .suo)也是值得的,因为其中一些文件的状态会影响项目引用问题(我真的没想到)。

于 2013-02-06T09:20:34.813 回答
2

此问题通常是由项目版本转换器引起的。

交易是解决方案中的项目中的引用项目不再在解决方案中(正如我所说,原因是转换或手动删除中的问题)。

因此,您必须查看所有项目引用( Right click on the project -> "References...") 并检查解决方案中是否存在每个引用的项目 - 否则将缺少的项目添加到解决方案或删除无效修饰符。

此遮阳篷基于现有的遮阳篷: https ://stackoverflow.com/a/14722733/1107020

于 2013-11-06T01:46:45.863 回答
1

Exactly once, at first I did not believe the measures "make sure all the references there" was successful.

Finally I try to check all projects, especially web project in solution I, Seriously there are unavailable. I delete the reference and voila, it works!

于 2014-06-19T05:51:12.833 回答
0

将项目复制到另一个文件夹并重新打开时遇到问题最后我通过以下方式解决了问题:1.右键单击项目2.打开引用选项3.删除页面中的引用项目

于 2014-12-11T07:24:47.683 回答
0

我有同样的症状,但是一个非常不同的原因,因此,解决方案。

在从 VS 2003 => 2005> => 2008 => 2010 => 2012 迁移时,在最后一步中,Resources.resx文件消失了。因此消息

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

对我来说,它不是“项目文件”,而是“项目文件”。(有些人说语法不重要。)

我找到了丢失的Resources.resx文件,对我来说一切都很好。

于 2014-09-21T17:07:03.220 回答
0

确保解决方案中的所有项目文件 (*.vcxproj) 都在其中定义了匹配的 GUID,如下所示:

<PropertyGroup Label="Globals">
    <ProjectGuid>{B4D8DE30-8DCC-85FC-ABFE-3ED6S9F873C0}</ProjectGuid>
</PropertyGroup>

由于某些奇怪的原因,从 VS2008 转换的项目没有那个,并且 VS2010每次加载解决方案时都坚持在解决方案文件中替换所有项目的 GUID,但从未真正将它们添加到项目文件中。

于 2017-10-11T09:09:42.323 回答