Подтвердить что ты не робот

Предупреждение/ошибки компилятора Razor - ASP.NET MVC 4

У меня есть проблема, которая, как представляется, была представлена ​​здесь:

Нужно ли автозавершение механизма просмотра бритвы работать в библиотеке классов?

Моя проблема следующая Предупреждение:

G:\подотчетного\подотчетного\Views\LedgerUser\EditorTemplates\LedgerServiceViewModel.cshtml: Ошибка выполнения ASP.NET: нет поставщика сборки, зарегистрированного для extension '.cshtml'. Вы можете зарегистрировать его в  в файле machine.config или web.config. Убедитесь, что имеет атрибут BuildProviderAppliesToAttribute, который включает значение "Веб" или "Все".

Эта проблема очевидна во всех моих взглядах. Образцы изображений ниже.

enter image description here

enter image description here

enter image description here

Теперь все сообщения и ссылки, которые я нашел, ссылаются на добавление различных параметров Web.config(как упоминалось в предыдущем сообщении), но это, похоже, не работает, поскольку у меня эти конфигурации дефолтны в проекте. Вот мои веб-конфигурации:

Main Web.config

Просмотр корневой веб-конфигурации

Я думаю, что эта проблема может быть в то время как im также получает следующие ошибки компилятора в представлениях:

Имя "Html" не существует в текущем контексте

enter image description here

Что я делаю неправильно?

4b9b3361

Ответ 1

Аrrgghhh я пропустил следующее из ROOT Web.config:

 <compilation debug="true" targetFramework="4.0">
  <!-- New -->
  <assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
</compilation>

Это позволило устранить ошибку и разрешить мне использовать Intellisense в представлении.

Ответ 2

Возврат следующих строк в корневой Web.config исправлено:

<system.web>
    <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.Optimization" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
</system.web>

Ответ 3

Я работал, просто выгружая и перезагружая проект. Все пространства имен выше уже были в корневом web.config, и я все еще получал эту проблему.

Ответ 4

Удаление временных файлов фреймворка asp.net работает для меня.

Остановите IIS и удалите все в этой папке:

C:\Windows\Microsoft.NET\Framework64\[версия рамки]\Временные файлы ASP.NET

Затем перезапустите IIS. Бам!

Ответ 5

Я попытался перезапустить IIS, удалить временные файлы ASP.NET и изменить тег компиляции в файле веб-конфигурации. Никто из них не работает для меня.

Я исправил проблему, удалив и добавив System.Web.MVC в проект.

В моем случае синтаксис Razor выделяется красным цветом.