我正在关注Justin Slattery's Plugin Architecture tutorial,并试图使其适用于Razor,而不是WebForm视图。
其他一切(控制器、插件程序集加载等)似乎都没问题。但是,我无法让嵌入式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
引发的
如果需要,我可以包含完整的堆栈跟踪。
有人能告诉我我可能做错了什么吗?
发布于 2011-11-15 04:19:29
你可以试试更适合剃刀的following blog post。
但是为了回答您的问题,由于您现在从非标准位置提供视图,因此不再有适用的~/Views/web.config
文件,并允许您为您的剃刀视图指定基本类型。因此,您可能需要在每个剃刀视图的顶部添加以下内容:
@inherits System.Web.Mvc.WebViewPage
@model ...
发布于 2015-01-06 07:18:15
我也遇到了同样的问题,因为我没有提交包含razor库的packages文件夹。然后我添加了这个包,它可以工作,但在重建时它就坏了。然后我关闭了nuget在构建时自动运行,现在它工作得很好。对我来说,nuget把事情搞得一团糟。
发布于 2015-06-01 21:15:48
今天,当更新一个旧的mvc3项目到版本4时,我得到了这个错误,对我来说,解决方案是删除<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
部分中的appliesTo="v2.0.50727"
属性。
https://stackoverflow.com/questions/8127462
复制相似问题