Visual Studio 2015:项目集合中已存在等效项目

时间:2015-12-04 16:26:43

标签: visual-studio visual-studio-2015 solution csproj

尝试将现有项目添加回Visual Studio 2015解决方案时,VS会显示以下错误消息。我已经验证我还没有添加对我要添加的项目的引用。我需要删除或清理某个设置或缓存文件吗?

  

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

11 个答案:

答案 0 :(得分:13)

简单的“清洁解决方案”对我有用。

答案 1 :(得分:6)

在使用外部编辑器搞乱我的项目文件后,发生了这种情况。我能够通过退出VS并杀死VsHub.exe来解决问题。

似乎VsHub.exe缓存了项目的某些部分,并与VS混淆或不同步。

答案 2 :(得分:2)

link为我提供了一个简单的预防措施,比运行{VSpath} \ devenv.exe / resetuserdata

更为激烈。

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

顺便说一句,在我的情况下,问题是通过卸载项目,在.vcxproj文件中进行棘手的更改(涉及属性值的[MSBuild]算法的东西),然后尝试重新加载项目,并由于语法错误。修复错误,删除/重新添加项目等不起作用。已经存在的' bug仍然存在。

答案 3 :(得分:0)

仍然不确定导致这种情况发生的原因,但似乎以相反的顺序添加依赖项目允许我重新添加所有项目。所以首先添加所有子项目,然后添加他们依赖的父项目。他们被添加回解决方案的顺序可能导致了剥落。

答案 4 :(得分:0)

在蓝屏之后发生了这件事。以下似乎解决了这个问题:

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

答案 5 :(得分:0)

Windows重启为我解决了这个问题。 重启后,Visual Studio不会显示如此奇怪的错误消息。

答案 6 :(得分:0)

在我的情况下,当我执行以下操作时,我看到了这个错误:

我在2.vcxproj中包含/导入3.vcxproj,而2.vcxproj包含在2.vcxproj中。

2.vcxproj里面3.vcxproj的路径错误,这给了我上面的错误。

更正了路径并且错误消失了。不确定滤镜是如何相关的。

答案 7 :(得分:0)

我通过代码调用了它。

这对我来说是固定的:

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

答案 8 :(得分:0)

当我用git切换分支时,我经常遇到这个问题。我发现,如果我“触摸ZFSin.vcxproj.filters”-(项目过滤器文件),则可以右键单击加载失败的项目并“重新加载”。没有Clean-project,也没有重新启动VS2017。 (Touch是只更新文件时间戳的命令。)

答案 9 :(得分:0)

当解决方案在项目路径和其他路径中使用环境变量时,我遇到了这个问题。我认为它期望找到%var1%\proj.vcxproj%var2%\proj.vcxproj,但是%var1%%var2%具有相同的值。

答案 10 :(得分:0)

就我而言,该项目仅具有x64平台配置,而没有Win32平台配置。奇怪的是,该解决方案确实具有Win32平台配置,并且由于某种原因Win32是当前平台配置。

更改为x64后,我可以再次加载项目而不会出现问题。为了确保这一点,我还删除了Win32平台配置。