Visual Studio 2015: 该项目集合中已经存在一个等效的项目。

13

试图将现有项目重新添加到 Visual Studio 2015 解决方案时,VS 显示以下错误消息。我已经验证了我尚未添加对我正在尝试添加的项目的引用。是否需要删除或清理某个设置或缓存文件?

等效项目(具有相同全局属性和工具版本的项目)已经存在于项目集合中,路径为“D:\My\Path\MyProject.csproj”。要将等效项目加载到此项目集合中,请首先卸载此项目。

12个回答

16

对我而言,“清晰的解决方案”就足够了。


8
我必须这样做,并且还要重新启动Visual Studio。 - 8bitcartridge
5
清理项目后,强制重新加载(右键单击)对我有用。我还牺牲了一只小毛绒动物,也许这有所帮助。 - Ian Vink
2
手动清理(从解决方案中手动删除所有bin / obj文件夹)对我有用。 - Sharique Abdullah
2
清理本身并没有起作用,使用 tf reconcile /clean /recursive . 清理工作区本身也没有起作用。我不得不退出 Visual Studio 并重新启动才能解决这个问题。 - uceumern

9

我在使用外部编辑器修改项目文件后遇到了这个问题。通过退出Visual Studio并结束VsHub.exe进程,我成功解决了这个问题。

看起来VsHub.exe会缓存部分项目信息,但会与Visual Studio出现混乱或不同步的情况。


谢谢。它报错说一个.filters文件有冲突的引用,但是实际上这个.filters文件并不存在。 - Okkenator

5

我通过代码调用了它。

这个解决方法适用于我:

Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection.LoadedProjects.FirstOrDefault(d => d.FullPath == projectFilePath) ??
                Microsoft.Build.Evaluation.Project.FromFile(projectFilePath, new ProjectOptions())

2

这个链接给了我一个简单的预防措施,比运行{VSpath}\devenv.exe /resetuserdata要温和得多。

我发现,通过向项目添加筛选器(即使我并不特别需要它),我可以强制VS2015创建一个.vcxproj.filters文件。一旦放置好,我就不再看到这个问题了。

顺便说一下,在我的情况下,问题是由于卸载项目、对.vcxproj文件进行棘手的更改(涉及到[MSBuild]属性值算术)然后尝试重新加载项目,并由于语法错误而失败所触发的。修复错误、删除/重新添加项目等都没有起作用。'already present'错误仍然存在。


1
每当使用git切换分支时,我经常会遇到这个问题。我发现如果我“touch ZFSin.vcxproj.filters”(项目过滤器文件),然后右键单击无法加载的项目并“重新加载”,就可以解决问题。无需清理项目,也不需要重新启动VS2017。(Touch是一个命令,它只更新文件的时间戳)。

1
在我的情况下,该项目只有x64平台配置,没有Win32平台配置。奇怪的是,解决方案确实有Win32平台配置,并且由于某种原因,Win32是当前的平台配置。更改为x64后,我可以再次无问题地加载该项目。我还删除了Win32平台配置,以确保。

0

仍然不确定是什么原因导致了这种情况,但似乎以相反的顺序添加依赖项目可以让我重新添加所有项目。因此,先添加所有子项目,然后再添加它们所依赖的父项目。它们重新添加到解决方案中的顺序可能会导致不稳定性。


0

重启Windows解决了我的问题。 重启后,Visual Studio不再显示这样奇怪的错误消息。


0

这是在蓝屏后发生的。以下步骤似乎可以解决问题:

  1. 启动VS2015命令提示符。
  2. 运行“devenv /resetuserdata”

8
注意!这是一个相当激烈的方法,因为它将重置所有 Visual Studio 的设置,包括你可能安装的任何 AddIns。 - uceumern
2
天啊,我刚刚干了什么?!? - Dmitri Nesteruk
这个方法虽然有效,但也删除了我所有的插件和自定义设置。我希望VS不要在那么多隐藏的地方缓存那么多东西。 - JamesFaix
在过去的一周中,我已经不得不两次尝试将一个项目从Framework升级到Standard。依赖于升级后项目的项目会出现此错误,直到我删除用户缓存为止。在我的情况下,删除.vs文件夹、重新启动、清理解决方案以及手动删除binobj文件夹都没有起作用。 - JamesFaix

0
在我的情况下,我在进行以下操作时看到了这个错误:
我在2.vcxproj中包含/导入3.vcxproj,而2.vcxproj被包含在1.vcxproj中。
2.vcxproj中3.vcxproj的路径是错误的,这给了我上面的错误。
更正路径后,错误消失了。不确定过滤器与此有何关系。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接