Ошибка "Отсутствуют веб-компоненты" при открытии проекта MVC3 в Visual Studio 11 Beta

Когда я открываю решение, содержащее проект MVC3 в бета-версии Visual Studio 11, я вижу следующее сообщение:

Для веб-проекта Landboss.Web требуются отсутствующие веб-компоненты для работы с Visual Studio. Хотите ли вы загрузить и установить их с помощью установщика веб-платформы сейчас? (Примечание. Для вступления в силу некоторых компонентов может потребоваться перезапуск.) Веб-страницы ASP.NET с синтаксисом Razor 1.0.0.0

Для веб-проекта Landboss.Web требуются отсутствующие веб-компоненты для работы с Visual Studio. Хотите ли вы загрузить и установить их с помощью установщика веб-платформы сейчас? (Примечание. Для вступления в силу некоторых компонентов может потребоваться перезагрузка.)

Веб-страницы ASP.NET с синтаксисом Razor 1.0.0.0

Когда я нажимаю Да, установщик веб-платформы открывается и сообщает мне следующее:

Продукт, который вы пытаетесь установить, не поддерживается в вашей операционной системе. Для получения дополнительной информации нажмите здесь.

До сих пор я установил Visual Studio 11 Beta на двух компьютерах, и у обеих есть одна и та же проблема.

7 ответов

Решение

Я полагаю, что это было вызвано тем, что я ранее установил Visual Studio 11 Developer Preview. Я удалил его перед установкой бета-версии, но вы знаете, как это происходит.

Чтобы это исправить, я сделал следующее:

  1. Удалено "Microsoft ASP.NET MVC 3 - обновление средств Visual Studio 11"
  2. Удалено "Веб-страницы Microsoft ASP.NET - Инструменты Visual Studio 11"
  3. Запустил Visual Studio 11 Beta "Ремонт" с установочного ISO.

Это сработало! Razor подсветка синтаксиса и intellisense вернулись, и предупреждение больше не отображается, когда я открываю проект.

Это связано с веб-страницами настроек конфигурации: версия

[appSettings]
...
   [add key="webpages:Version" value="x.0.0.0" /]
...
[/appSettings]

если в системе установлено несколько версий бритвы (на данный момент 1 или 2), лучше добавьте этот параметр, если он отсутствует. Выберите нужную версию на нужном уровне. (Очевидно, заменить скобки...)

У меня также была такая ошибка, когда в хранилище был зафиксирован конфликт Subversion - присутствие этого блока в настройках приложения web.config, по-видимому, вызывало сообщение при загрузке проекта:

<<<<<<< .mine
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
=======
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
>>>>>>> .r358

Устранение конфликта Subversion в appSettings устранило эту ошибку.

Хотя решение @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.

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

Я только что был укушен этим, и это еще один вариант web.config проблема. В моем случае мы не храним файл web.config в нашем репозитории, а генерируем его из шаблона в качестве пользовательского шага сборки. Когда мы выполняли очистку рабочего пространства *, этот файл удалялся (правильно, потому что его нет в репо), и поэтому при следующем запуске Visual Studio он пожаловался. Построение командной строки через msbuild никогда не затрагивалось этим.

* У нас есть "частичная" очистка, которая удаляет все артефакты сборки (включая оставленные после VS), и "полная" очистка, которая возвращает рабочее пространство в то же состояние, как если бы вы только что вытащили его из репозитория.

Я получил эту ошибку, потому что раздел appSettings был настроен для шифрования, а ключи шифрования были настроены неправильно. Кажется, что эта ошибка имеет тенденцию всплывать всякий раз, когда что-то неправильно / неправильно сформировано с web.config, даже если оно не связано с MVC.

Другие вопросы по тегам