Ошибка "отсутствующие веб-компоненты" при открытии проекта MVC3 в бета-версии Visual Studio 11
когда я открываю решение, содержащее проект MVC3 в бета-версии Visual Studio 11, я вижу следующее сообщение:
веб-проект " Landboss.Web " требует запуска отсутствующих веб-компонентов с Visual Studio. Вы хотите загрузить и установить их с помощью установщик веб-платформы сейчас? (Примечание: некоторые компоненты могут потребовать перезагрузить вступили в силу.)
ASP.NET веб-страницы с синтаксисом Razor 1.0.0.0
когда я нажимаю да, откроется установщик веб-платформы и скажет мне следующее:
до сих пор я установил бета-версию Visual Studio 11 на двух машинах, и у обоих есть эта же проблема.
7 ответов
Я считаю, что это было вызвано тем, что я ранее установил Visual Studio 11 Developer Preview. Я удалил его перед установкой бета-версии, но вы знаете, как это происходит.
чтобы исправить это, я сделал следующее:
- удалено "Microsoft ASP.NET MVC 3 - Обновление средств Visual Studio 11"
- удалено "Microsoft ASP.NET веб-страницы-Visual Studio 11 Tools"
- запуск бета-версии Visual Studio 11 "ремонт" из установки ИСО.
Он работал! Подсветка синтаксиса Razor и intellisense вернулись, и предупреждающее сообщение больше не отображается при открытии проекта.
Это связано с настройкой конфигурации веб-страницы:версия
[appSettings]
...
[add key="webpages:Version" value="x.0.0.0" /]
...
[/appSettings]
если у вас есть несколько версий razor в системе (1 или 2 на данный момент), лучше добавить этот параметр, если он отсутствует. Выберите версию, которую вы хотите/нужно на соответствующем уровне. (Очевидно, заменить скобки...)
У меня также была эта ошибка, когда конфликт Subversion был зафиксирован в репозитории-наличие этого блока в интернете.настройки приложения config, казалось, вызвали сообщение при загрузке проекта:
<<<<<<< .mine
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
=======
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
>>>>>>> .r358
очистка конфликта Subversion в appSettings разрешила эту ошибку.
While @молчит__мысль может исправить проблему, это не самый простой способ ее исправить.
@Costas решение может точно решить проблему, но здесь более подробно Если вам это нужно.
в моем случае мне нужно было следующее В моей сети.файл 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.
Я получил эту ошибку, потому что раздел appSettings был настроен на encruypted, и ключи шифрования были настроены неправильно. Кажется, эта ошибка имеет тенденцию всплывать всякий раз, когда есть что-то неправильное/искаженное в интернете.config, даже если он не связан с MVC.
Я получил эту ошибку, когда что-то в интернете.файл конфигурации поврежден. Я просто отформатировал файл,а затем сохранил его. Затем я перезапустил Visual Studio.