it-roy-ru.com

Тип проекта не поддерживается этой установкой

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

«Тип проекта не поддерживается этой установкой»

Похоже, что моя установка Visual Studio не повреждена (я могу сделать с ней все что угодно, кроме как открыть эти файлы csproj)

Что может быть причиной этого?

145
Nick

edit, пожалуйста, смотрите ответ ниже , который на 18 месяцев новее и фактически решает проблему. Этот исторически некогда точный ответ уже не так точен. Оставить нетронутым после перерыва по этой причине. - спасибо - jcolebrand


Какую редакцию VS вы используете? VS2008 Express, Standard, Pro или Team System? VS2010 Professional, Premium или Ultimate? Я ожидаю, что загруженный вами проект был создан с использованием более поздней версии Visual Studio и использует некоторые из этих расширенных функций. Таким образом, вы не можете открыть его.

Правка: Возможно также, что вам не хватает некоторых продвинутых платформ, таких как более новые версии Windows Mobile SDK, но если я правильно помню, сообщение об ошибке в таком случае отличается.

24
SergGr

Откройте файл .csproj для вашего решения в WordPad или текстовом редакторе. Ищите ProjectTypeGuids. Они указывают необходимые поддерживаемые типы для ваших решений. Ищите в интернете эти GUID, чтобы узнать, что им нужно. Например, E53F8FEA-EAE0-44A6-8774-FFD645390401 означает, что требуется «MVC 3.0»

231
MindStalker

Для Visual Studio 2010 (также для других версий):

Если вы открываете проект ASP.NET MVC, убедитесь, что на вашем компьютере установлена ​​правильная версия MVC . Если вы пытаетесь открыть проект ASP.NET MVC 3, сначала закройте все экземпляры Visual Studio. и установите MVC3: http://www.Microsoft.com/en-us/download/details.aspx?id=1491

Для других версий ASP.NET MVC загрузите их с www.asp.net/mvc или через установщик веб-платформы 4.0.

16
juFo

Вместо поиска по GUID, вы можете просто удалить теги GUIds. Затем попробуйте открыть проект снова. При втором открытии вы должны получить более разумное сообщение об ошибке. 

Например, моя проблема заключалась в том, что я не установил Инструменты разработчика SharePoint, когда установил Visual Studio 2010 на свою виртуальную машину для разработки. Поэтому, когда я попытался открыть проект после удаления GUID, VS2010 сказал, что искомый путь не существует. 

Поэтому VS2010 искал библиотеку SharePoint, которая не была установлена. Мне просто пришлось снова запустить установку, а затем добавить эту функцию. 

11
Daniel Byrne

Та же проблема с «Тип проекта не поддерживается этой установкой» для веб-проектов в VS 2010 Premium. 

devenv/ResetSkipPkgs

и GUIDs magic не помогли.

Те же проекты отлично работали на соседней коробке с VS 2010 Premium.

Как оказалось, единственное отличие заключалось в том, что в моей установке VS отсутствовали следующие установленные продукты (их можно найти в диалоговом окне «О VS»):

  • Инструменты разработчика Microsoft Office
  • Инструменты разработчика Microsoft Visual Studio 2010 SharePoint 

Установка и удаление программ -> VS 2010 -> Настройка -> Проверка перечисленных выше продуктов - и проблема была решена.

9
Maxim Saplin

Если вы используете VS 2010 и это проект ASP.NET, убедитесь, что у вас установлен Visual Developer с компакт-диска VS 2010. Это не бесплатная, но часть того, что требуется для работы над проектами ASP.NET в Visual Studio.

5
Patrick

У меня была такая же проблема при открытии решения NuGet с VS 2010 Ultimate, но следующая команда исправила это:

devenv /ResetSkipPkgs
5
juanagui

Вам может потребоваться установить «Установщик веб-платформы Microsoft» по адресу http://www.Microsoft.com/web/downloads/platform.aspx

3
Denis

Вы также можете попробовать выполнить следующую команду:

devenv /ResetSkipPkgs
3
BALKANGraph

У меня была похожая проблема с c #, сначала я обнаружил, что у каждого проекта может быть несколько разных типов. в файле .csproject найдите ProjectTypeGuids, это должно быть несколько направляющих, т.е.

<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

они будут указывать на компонент, который вам не хватает. В моем случае это был ASP.NET MVC 2. Некоторые ребята работают, установив MVC 2.

Мой случай был хуже, потому что установка не работала, но оказалось, что это было, потому что у меня был Express 2008 и 2010. Я исправил это, удалив и 2008 и 2010 и установив только версии 2010. Для c # вам нужны и Visual C # Express, и Visual Web Developer, экспресс

2
Sergey

С этим также можно столкнуться при попытке открыть проект ASP.Net MVC, когда у вас не установлен ASP.Net MVC с Visual Studio 2010. В моем случае это был ASP.Net MVC 3.0

1
NileshChauhan

Мои проблемы, потому что эта строка в проекте (.csproj) имеет новую строку (vs2010)

<ProjectTypeGuids>
</ProjectTypeGuids>

Когда я обновлюсь до

<ProjectTypeGuids></ProjectTypeGuids>

Я могу открыть снова

1
Grey Wolf

В дополнение к этому, «тип проекта не поддерживается этой установкой» может возникнуть, если вы пытаетесь открыть проект на компьютере, который не содержит целевой версии платформы.

В моем случае я пытался открыть библиотеку классов, которая была создана на машине с VS2012 и по умолчанию настроил целевую платформу на 4.5 ... Поскольку я знал, что эта библиотека не использует какие-либо 4.5 биты, я решил проблему, отредактировав файл .csproj от <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> до <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> (или любой другой, подходящий для вашего проекта) и библиотека открыта.

1
dougajmcdonald

У меня была эта проблема при попытке добавить проект WPF в решение WCF в Visual Studio Express 2012 для Web. Удаление содержимого между тегами «ProjectTypeGuids» и оставление только тегов решило проблему. Чтобы узнать, как редактировать файл .csproj, прочитайте комментарий MindStalker.

0
NoHero

Проблема для меня заключалась в том, что мой ProjectTypeGuid был MVC4, но у меня не было этого на целевом сервере. Решением было изменить ProjectTypeGuids на библиотеку классов и включить в проект библиотеки DLL MVC, а не забрать их из GAC.

0
Rob Sedgwick