Ошибка "Отсутствующие веб-компоненты" при открытии проекта MVC3 в бета-версии Visual Studio 11
Когда я открываю решение, содержащее проект MVC3 в бета-версии Visual Studio 11, я вижу следующее сообщение:
![The Web project 'Landboss.Web' requires missing web components to run with Visual Studio. Would you like to download and install them using the Web Platform Installer now? (Note: Some components might require restart to take effect.) ASP.NET Web pages with Razor syntax 1.0.0.0]()
Веб-проект "Landboss.Web" требует, чтобы отсутствовали веб-компоненты для запуска с Visual Studio. Вы хотите загрузить и установить их, используя установщик веб-платформы сейчас? (Примечание. Некоторые компоненты могут потребовать перезапустите, чтобы вступить в силу.)
Веб-страницы ASP.NET с синтаксисом Razor 1.0.0.0
Когда я нажимаю Да, установщик Web Platform открывается и сообщает мне следующее:
![enter image description here]()
Продукт, который вы пытаетесь установить, не поддерживается на вашем операционная система. Нажмите здесь для получения дополнительной информации.
До сих пор я установил бета-версию Visual Studio 11 на двух компьютерах, и обе они имеют эту же проблему.
Ответы
Ответ 1
Я полагаю, что это было вызвано тем фактом, что ранее я установил Visual Studio 11 Developer Preview. Я удалил его перед установкой бета-версии, но вы знаете, как это происходит.
Чтобы исправить это, я сделал следующее:
- Деинсталляция "Microsoft ASP.NET MVC 3 - Обновление инструментов Visual Studio 11"
- Удаленные "Веб-страницы Microsoft ASP.NET - Инструменты Visual Studio 11"
- Отредактируйте бета-версию Visual Studio 11 "Ремонт" из установки ISO.
Это сработало! Выделение синтаксиса Razor и intellisense вернулись, и предупреждающее сообщение больше не отображается, когда я открываю проект.
Ответ 2
Это связано с веб-страницами настройки конфигурации: Version
[appSettings]
...
[add key="webpages:Version" value="x.0.0.0" /]
...
[/appSettings]
Если у вас несколько версий бритвы в системе (1 или 2 на данный момент), лучше добавьте этот параметр, если он отсутствует.
Выберите нужную вам версию на соответствующем уровне. (Очевидно, заменить скобки...)
Ответ 3
Я также имел эту ошибку, когда конфликт с Subversion был привязан к репозиторию - наличие этого блока в настройках приложения web.config, казалось, вызывало сообщение при загрузке проекта:
<<<<<<< .mine
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
=======
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
>>>>>>> .r358
Очистка конфликта Subversion в appSettings разрешила эту ошибку.
Ответ 4
Хотя @silent__thought решение может исправить проблему, это не самый простой способ ее исправить.
решение @Costas может точно решить проблему, но вот более подробное объяснение если вам это нужно.
В моем случае мне понадобилось следующее в моем файле web.config(для MVC 4):
<configuration>
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
<httpHandlers></httpHandlers>
</system.web>
</configuration>
Конечно, вам может не понадобиться все эти конфигурации для вашего приложения. Это просто настройки по умолчанию для проекта MVC 4.
Ответ 5
Я получил эту ошибку, потому что раздел appSettings был настроен для использования, а ключи шифрования были неправильно настроены. Кажется, что эта ошибка имеет тенденцию всплывать всякий раз, когда есть что-то неправильное/искаженное с web.config, даже если оно не связано с MVC.
Ответ 6
Я получил эту ошибку, когда что-то в файле web.config было повреждено. Я просто отформатировал файл, а затем сохранил его. Затем я перезапустил Visual Studio.
Ответ 7
Я только что был укушен этим, и это еще одна вариация проблемы web.config
. В моем случае мы не храним файл web.config в нашем репо, а генерируем его из шаблона как шаг пользовательской сборки. Когда мы делаем чистую рабочую область *, этот файл удаляется (правильно, потому что он не в репо), и поэтому в следующий раз, когда Visual Studio была запущена, он жаловался. Командная строка, созданная через msbuild, никогда не была затронута этим.
* У нас есть "частичная" чистка, которая удаляет все артефакты сборки (включая эти VS оставляет за собой) и "полную" очистку, которая сбрасывает рабочее пространство в такое же состояние, как если бы вы просто вытащили его из репо.