Представление должно быть производным от WebViewPage или WebViewPage
Я учебник по архитектуре плагинов Джастина Слэттери и пытается адаптировать его для Razor, а не для просмотра веб-форм.
все остальное (контроллеры, загрузка сборок плагинов и т. д.), Похоже, в порядке. Тем не менее, я не могу получить встроенные представления Razor для правильной работы. Когда я пытаюсь перейти к "HelloWorld / Index", я получаю следующую ошибку:
The view at '~/Plugins/MyProjectPlugin.dll/MyProjectPlugin.Views.HelloWorld.Index.cshtml' must derive from WebViewPage or WebViewPage<TModel>.
исключение по System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +262
Я могу включить полный трассировку стека, если это необходимо.
может ли кто-нибудь посоветовать, что я могу делать неправильно?
7 ответов:
Вы можете оформить заказ блоге который более приспособлен к бритве.
но чтобы ответить на ваш вопрос, так как вы теперь обслуживаете свои взгляды из нестандартного места, больше нет
~/Views/web.config
файл, который применяется и позволяет указать базовый тип для ваших представлений razor. Таким образом, вам может потребоваться добавить следующее в верхней части каждого вида бритвы:@inherits System.Web.Mvc.WebViewPage @model ...
Примечание: у меня была очень похожая проблема, и мне пришлось, наконец, отследить, что я был единственным разработчиком с MVC 4.0.0.0, связанным в их решении.
все остальные правильно ссылались на 3.0.0.0 и строили/запускали без ошибок.
TL; DR убедитесь, что ваши ссылки совпадают с остальной частью вашей группы разработки.
У меня была такая же проблема, потому что я не зафиксировал папку packages, которая содержит библиотеки razor. Затем я добавил пакет, он работал, но после восстановления он сломался. Затем я отключил автоматический запуск nuget при сборке, и теперь он работает нормально. В моем случае нугет все испортил.
только что получил эту ошибку сегодня при обновлении старого MVC3-проекта до версии 4 и для меня решение было удалить атрибут
appliesTo="v2.0.50727"
на .
Я хочу поделиться своей болью.. сайт работал нормально локально, однако когда я опубликовал в IIS клиента, он бросал эту ошибку. Вся паутина.конфигурационные файлы (root и / Views) идеально сочетаются с рабочей копией сайта.
одно из мнений (вход.cshtml) имел несогласованные окончания строк, и я не нажал да, чтобы исправить это на моей машине Windows.
Нажмите кнопку Да в диалоговом окне несогласованные окончания строк и опубликуйте вход в систему.cshtml view исправил это для мне.
я получил эту ошибку, когда пытался добавить леса MVC (в частности,
Views
папка) в проект веб-API. ответ Дарина Димитрова говорит:уже нет
~/Views/web.config
файл, который применяется и позволяет указать базовый тип для ваших представлений razorи в комментариях к этому ответу,joelnet сказал:
я смог скопировать веб.конфиг из ~/Вид моей дублершей расположение, чтобы решить мою проблему с этим.
если у вас возникли проблемы с получением решения в комментарии @joelnet для работы, попробуйте очистить и перестроить проект.
эти подсказки помогли мне понять решение.
сначала я скопировал
Web.config
СViews
папка другого проекта в том же решении для моего нового . Я переименовал главныйnamespace
тег соответствует новому проекту, а после получения ошибки удаляется еще один<add namespace="..." />
это мне не нужно. Затем я запустил сборку (только обычную сборку, мне не нужно было очищать и перестраивать), и я смог загрузить свой новый вид без ошибок.