Обнаружена непредвиденная ошибка при попытке разрешить директиву хелпера тегов '@addTagHelper'
Я использую версию сообщества Visual Studio 2015, и я создал проект ASP.NET MVC 5.
Когда я открываю представление (Index
of Home
или любое другое), он показывает первые три строки страницы, подчеркнутые красным как синтаксическая проблема. Вот ошибка:
Обнаружена непредвиденная ошибка при попытке разрешить поддержку тега директива "@addTagHelper" со значением "Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNet.Mvc.Razor". Ошибка: ссылка на объект не установлена в экземпляр объекта
Снимок экрана:
![@сообщение об ошибке AddTagHelper]()
Когда я создаю проект, он успешно строится. Когда я запускаю его, он показывает много ошибок, но он запускает приложение.
![Просмотр индекса с ошибками]()
Тип или имя пространства имен 'Mvc' не существует в пространстве имен "Microsoft.AspNet" (вам не хватает ссылки на сборку?)
и
'_ Page_views_home_index_cshtml.ExecuteAsync()': нет подходящего метода найдено, чтобы переопределить
Как я могу избавиться от этого?
Ответы
Ответ 1
Вот как я исправил проблему:
Сначала сбросьте кэш компонентов Visual Studio, закрыв Visual Studio и удалив эту папку:
C:\Users\[Имя пользователя]\AppData\Local\Microsoft\VisualStudio\14,0\ComponentModelCache
И, наконец, проверьте файлы web.config
и измените:
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
...
</appSettings>
в
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
...
</appSettings>
Ответ 2
У меня была та же проблема, но выше это не сработало. Я также удалил все 4 файла в кеше компонентов, которые не работали. Я заметил, что строка ниже
<appSettings>
было установлено значение false
. Я изменил его на true
, а красные сквитги исчезли.
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
Ответ 3
В моем случае это была ссылка на System.Web.Mvc.
В файлах cshtml было много ошибок, но он компилировался и работал. Затем я обнаружил, что у меня была ошибка в файле xxxcontrollers.cs при попытке наследовать контроллеры.
Кажется, он может скомпилироваться, потому что DLL уже была в bin, но выдавала ошибки.
Я не смогла перестроить этот проект. Это были бы дни и дни.