«Этот проект несовместим с текущей версией Visual Studio»


98

Я получил следующее сообщение от Visual Studio 2010.

«Этот проект несовместим с текущей версией Visual Studio»

Одна ситуация, приводящая к этой ошибке, уже была опубликована здесь, в Stackoverflow, но этот вопрос был закрыт. Я думаю, это довольно общая проблема. Поскольку я нашел «решение», я отправлю этот вопрос и свое решение в качестве ответа.


1
Я просто упомяну ситуацию, когда я столкнулся с этой ошибкой. Я загрузил исходный код программы Managed ESENT, managedesent.codeplex.com . Он содержит решение Visual Studio 2010 с 9 проектами. Некоторые из проектов нацелены на .Net 2.0, некоторые .Net 3.5 и четыре проекта на .Net 4.5. Открытие решения не приводит к появлению сообщения об ошибке, но проекты, предназначенные для .Net 4.5, отображаются в обозревателе решений как «(несовместимые)». Если вы попытаетесь использовать Visual Studio 2010 для прямого открытия одного из этих проектов, вы получите сообщение об ошибке, показанное выше.
RenniePet


1
@JamesLawruk: Да, вероятно, это дубликат. Но в то время, когда я разместил этот вопрос, ответ на другой вопрос был закрыт. Позже он был снова открыт, возможно, потому, что я пометил его как закрытый по ошибке, сейчас не могу вспомнить.
RenniePet

Ответы:


67

Если сообщение

Этот проект несовместим с текущей версией Visual Studio.

возникает из-за попытки открыть проект, ориентированный на .Net 4.5, то "решение" или обходной путь - отредактировать файл .csproj и изменить TargetFrameworkVersion с "v4.5" на "v4.0". Это, по крайней мере, позволяет загрузить проект, хотя может привести к ошибкам компилятора, если программа зависит от функций 4.5.


1
У меня такая же проблема, но я не могу найти никаких ссылок на TargetFrameworkVersion или v4.5. Не в файле .csproj и не в файле .sln .. Есть идеи?
eran otzap

@eranotzap: Нет, прости. Я предполагаю, что вы используете более новую версию Visual Studio, чем 2010, в которой я столкнулся с этой проблемой.
RenniePet

Да, я использую VS 2012 и пытаюсь загрузить проект, написанный на VS 2013, и, похоже, по какой-то причине нет способа сделать это ..
eran otzap

-1. У меня был проект, который был написан для 4.0, и целевая платформа все время была 4.0. Это сработало, затем я попытался установить OneClick Publishing Tools для VS 2015, и именно тогда я получил ошибку OP. Итак, эта часть о переключении версий в .csproj - подделка, ИМХО, даже если это помогло OP. Это не поможет всем - отсюда, я полагаю, и количество других ответов в этой теме.
vapcguy

14

VS 2012 поддерживает разные типы проектов в зависимости от того, что вы устанавливаете во время установки и какой у вас выпуск. Доступны определенные параметры, например инструменты веб-разработки, инструменты разработки баз данных и т. Д. Поэтому, если вы пытаетесь открыть веб-проект, но инструменты веб-разработки не были установлены, он выдает это сообщение.

Это может произойти, если вы создадите проект на другом компьютере и попытаетесь открыть его на новом. Я понял это, пытаясь открыть проект MVC после того, как случайно удалил веб-инструменты.


Я не устанавливал компонент веб-разработки для VS, из-за чего мое веб-приложение не загружалось.
h-rai

8

Я получил такое же сообщение об ошибке с парой проектов после установки Visual Studio 2015 Update 3. Для меня решением было установить .NET Core.


Я получаю ту же ошибку после выполнения обновления 3, но установка .NET Core не исправила ее. Просто интересно, установлены ли у вас также компоненты Xamarin, потому что я подозреваю, что это проблема.
smoore4

Нет, у меня не установлены компоненты Xamarin.
Гордон Глас,

Спасибо. Как и некоторые другие люди здесь, когда я добавил инструменты Xamarin, я либо не выбрал опцию для Microsoft Web Developer Tools, либо случайно снял отметку с нее. Я изменил VS 2015 и добавил это, и теперь ошибка исчезла.
smoore4 01

Я думаю, что мой случай был другим, потому что перед установкой обновления 3 мне понадобилось .NET Core, чтобы исправить проблему с инструментом слияния Visual Studio 2015. Поэтому после установки обновления 3 мне также нужно было обновить .NET Core до последней версии, чтобы оно работало.
Gordon Glas

Для VS 2015 это, похоже, сейчас рабочее решение. По крайней мере, это устранило мои проблемы.
waka

5

Что касается меня, я понял, что в решении есть еще один веб-проект, и мой VS2017 загружается нормально, поэтому я скопировал его ProjectTypeGuidsэлемент в проект, который не загружался. Его разница была:

-    <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

После этого загружается. Не спрашивайте меня почему.


4

В моем случае это был несовместимый тип проекта. Редактирование файла проекта и удаление узла ProjectTypeGuids разрешили проблему с загрузкой проекта (я уже изменил таргетинг на версию фреймворка, как было указано здесь ).

Вероятно, тип проекта не поддерживается в (скорее всего) НОВОЙ версии VS, поэтому вам придется настроить (обновить) код для правильной работы (если возможно), но, по крайней мере, вы можете видеть контент через VS.


3

Я решил проблему, удалив файлы в папке ниже

%localappdata%\Microsoft\VisualStudio\12.0\ComponentModelCache

Источник: https://forums.xamarin.com/discussion/70388/how-to-fix-incompatible-issue-after-visual-studio-2015-update-3


Это решило эту проблему для меня, поскольку она была в VS 2017, и я добавил проект .NET Standard, когда другие проекты были .NET Framework 4.6.1 ..
InfOracle


0

Для меня я получил ту же ошибку в VS 2015 и только что установил обновление VS 2015 1 , хотя из другого ответа VS фактически до обновления 3, теперь (после чего они получили ошибку и должны были установить .NET Core ) . Были проблемы, когда он попадал в определенные пакеты, такие как Windows SDK, и мне приходилось указывать установщику пути на моем исходном компакт-диске, а для некоторых даже это не срабатывало, и приходилось пропускать их и повторно загружать с компьютер, подключенный к Интернету, перенесите их и запустите позже вручную (компьютер не был подключен к Интернету, чтобы иметь возможность загружать обновленные версии пакетов), но после выполнения всего этого и перезагрузки ошибка исчезла, и мой проект загружен нормально.


Кто-то проголосовал против этого - хотите объяснить? Ответ представляет собой описание того, что я сделал для того, чтобы моя работа заработала - либо выполнить обновление 1, пропустив и повторно загрузив пакеты, на которые он жалуется во время установки, либо выполнить обновление 3 и .NET Core. Поскольку я не заходил в Update 3 / .NET Core, это не делает этот ответ неправильным. Мне просто не хотелось устанавливать еще одну огромную пару обновлений. Компьютер, на котором я занимаюсь разработкой, не подключен к Интернету - он подключен к другому компьютеру, то есть с ограничением на передачу 5 МБ. Для других, попавших в такое же затруднительное положение, как я, это наиболее приемлемый вариант.
vapcguy

0

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

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

В моем случае проект ASP.net (мой запуск) был несовместимым проектом, и это произошло потому, что у меня не было следующего:

  • Microsoft ASP.NET и веб-инструменты
  • Веб-платформы и инструменты Micrsoft ASP.NET

Это был простой случай входа в расширения и обновления в меню « Инструменты».


0

После установки обновления 3 для Visual Studio 2015 я внезапно получил сообщение об ошибке «Этот проект несовместим с текущей версией Visual Studio» при открытии моего проекта Cordova ( файл проекта Javascript .jsproj )

Чтобы решить эту проблему:

  • Перейти к программам и функциям
  • Выберите установку Microsoft Visual Studio 2015 и нажмите Изменить.
  • Нажмите "Изменить".
  • Установите «HTML / Javascript (Apache Cordova) Update 10» раздела «Кросс-платформенная мобильная разработка».

0

У меня была эта ошибка, и я обнаружил, что это связано с наличием XML-тега «Импорт» внутри файла .csproj.user. Как только я его удалил, Visual Studio снова смогла открыть проект.


0

Большинство людей забывают, что файлы Visual Studio - это просто текстовые файлы с некоторыми специфическими конфигурациями, которые покажут программе, как их открыть. то есть мы можем изменить это, потому что это просто текст в каком-то файле в папках вашего проекта.

Что ж, зная это, то, что нам нужно сделать, очень просто!

Первый шаг - узнать, что это за проект, который остается разгрузить. (например: Библиотека классов)

Второй шаг - создать новую (библиотеку классов), потому что вы знаете, что ваша визуальная студия создаст версию, поддерживаемую самим собой. Выгрузите его и нажмите «Редактировать csproj».

Именно в этом файле мы можем найти конфигурацию, которая сообщает VS, как этот проект будет загружен, и его имя - ProjectGuid, этот серийный номер может варьироваться в зависимости от типа и версии проекта.

Теперь посмотрите на свой «ok project», скопируйте тег «ProjectGuid», вставьте в csproj, который выгружен, и обратите внимание на небольшие различия и сделайте эти файлы почти одинаковыми, за исключением тегов ItemGroup, которые представляют ссылки на проект.

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

Я надеюсь, что эта информация поможет кому-то лучше понять, как работает VS, и поможет решить проблемы, когда это необходимо.



0

Если вы пришли сюда в поисках проблемы с файлом ".smproj", это потому, что вам не хватает служб аналитики SQL Server (SSAS). Чтобы преодолеть это, установите SQL Server Data Tools (SSDT) ​​в свою систему, перезапустите Visual Studio, и все заработает.

Спасибо.


-1

Эта проблема может быть вызвана использованием VS 2015 с установленным обновлением 3 на одном компьютере и без обновления 3 на другом. Это было проблемой в моем случае.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.