Visual Studio 2015: эквивалентный проект уже присутствует в коллекции проекта

При попытке добавить существующие проекты в решение Visual Studio 2015, VS дает следующее сообщение об ошибке. Я подтвердил, что я еще не добавил ссылку на проект, который я пытаюсь добавить. Есть ли настройки или файл кеша, которые мне нужно удалить или очистить где-нибудь?

Эквивалентный проект (проект с теми же глобальными свойствами и версия инструментов) уже присутствует в коллекции проекта, а path "D:\My\Path\MyProject.csproj". Чтобы загрузить эквивалент в этот сбор проекта, сначала выгрузите этот проект.

Ответ 1

Не уверен, что это может произойти, но кажется, что добавление зависимых проектов в обратном порядке позволило мне добавить все мои проекты обратно. Поэтому сначала добавьте все дочерние проекты, а затем добавьте родительские проекты, от которых они зависят. Порядок, который они добавили обратно в решение, возможно, вызвал шелушение.

Ответ 2

Просто "Clean Solution" работал у меня.

Ответ 3

Это случилось со мной после того, как я возился с файлами проекта с помощью внешнего редактора. Я смог решить проблему, выйдя из VS, а также убив VsHub.exe.

Кажется, что VsHub.exe кэширует часть проекта и запутывается или не синхронизируется с VS.

Ответ 4

Эта ссылка предоставила мне простую профилактическую программу, гораздо менее критичную, чем запуск {VSpath}\devenv.exe/resetuserdata​​p >

Я обнаружил, что добавив фильтр в проект (хотя я и не особо нуждался в нем), я мог заставить VS2015 создать файл .vcxproj.filters. Однажды я перестала видеть проблему.

Кстати, в моем случае проблема была вызвана разгрузкой проекта, что вызвало сложные изменения в файле .vcxproj(материал с участием арифметики [MSBuild] по значениям свойств), а затем попытался перезагрузить проект, и с этим не удался из-за синтаксические ошибки. Исправление ошибок, удаление/повторное добавление проекта и т.д. Не сработало. Ошибка "уже присутствует".

Ответ 5

Я вызвал это через код.

Это исправило это для меня:

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

Ответ 6

Это случилось со мной после блюзового экрана. Казалось, что это исправить:

  • Введите приглашение VS2015 cmd.
  • Запустите "devenv/resetuserdata"

Ответ 7

Перезагрузка Windows исправила эту проблему для меня. После перезагрузки Visual Studio не показывает такое странное сообщение об ошибке.

Ответ 8

В моем случае я увидел эту ошибку, когда делал следующее:

Я включил/импортировал 3.vcxproj внутри 2.vcxproj и 2.vcxproj был включен в 1.vcxproj.

Путь к 3.vcxproj внутри 2.vcxproj был неправильным, и это дало мне ошибку выше.

Исправлен путь и ошибка исчезла. Не знаете, как связаны фильтры.

Ответ 9

Я часто получаю это при переключении веток с помощью git. Я обнаружил, что, если я "коснусь ZFSin.vcxproj.filters" - (файл фильтров проектов), я могу затем щелкнуть правой кнопкой мыши по проекту, который не удалось загрузить, и "перезагрузить". Ни Clean-проекта, ни перезагрузки VS2017. (Touch - это команда, которая просто обновляет временные метки в файле).

Ответ 10

У меня была эта проблема, когда в решении использовались переменные среды в путях проекта и других путях. Я думаю, он ожидал найти %var1%\proj.vcxproj и %var2%\proj.vcxproj, но %var1% и %var2% имели одинаковое значение.

Ответ 11

В моем случае проект имел только конфигурацию платформы x64, а не конфигурацию платформы Win32. Как ни странно, решение имело конфигурацию платформы Win32, и почему-то Win32 была текущей конфигурацией платформы.

После перехода на x64 я смог загрузить проект снова без проблем. Я также удалил конфигурацию платформы Win32 просто для уверенности.