«Этот проект несовместим с текущей версией 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.