带有 Razor 的 MVC3 抛出找不到方法:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'
Posted
技术标签:
【中文标题】带有 Razor 的 MVC3 抛出找不到方法:\'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()\'【英文标题】:MVC3 with Razor throws Method not found: 'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'带有 Razor 的 MVC3 抛出找不到方法:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()' 【发布时间】:2011-01-26 15:04:51 【问题描述】:在 Win Server 2008 R2 上全新安装 IIS7.5。
通过 Web Platform Installer 安装了 MVC3 等。
在本地制作了一个基本的 MVC3 应用程序。只是“新项目”,没有任何内容。 在 IIS 上制作了一个应用程序来托管该应用程序。 AppPool 设置为 .Net4。
当我在本地运行应用程序时,我得到了这个:
块引用
找不到方法:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'。 描述:未处理的异常 在执行过程中发生 当前的网络请求。请查看 堆栈跟踪以获取有关的更多信息 错误及其起源 编码。
异常详情: System.MissingMethodException:方法 未找到:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'。
来源错误:
产生了一个未处理的异常 在当前执行期间 网络请求。有关的信息 异常的起源和位置 可以使用异常识别 下面的堆栈跟踪。
堆栈跟踪:
[MissingMethodException: 方法没有 找到:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'。] MinTest.Controllers.HomeController.Index() 在 C:\Projects\MinTest\MinTest\Controllers\HomeController.cs:17 lambda_method(闭包,ControllerBase , 对象[] ) +79 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext 控制器上下文,IDictionary
2 parameters) +264 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 参数)+39 System.Web.Mvc.c_DisplayClass15.b_12() +129 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 过滤器,ActionExecutingContext preContext,Func1 continuation) +784922 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
1 过滤器, 动作描述符动作描述符, IDictionary`2 参数)+314 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext 控制器上下文,字符串动作名称) +784976 System.Web.Mvc.Controller.ExecuteCore() +159 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335 System.Web.Mvc.c_DisplayClassb.b_5() +62 System.Web.Mvc.Async.c_DisplayClass1.b_0() +20 System.Web.Mvc.c_DisplayClasse.b_d() +54 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +453 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean & completedSynchronously) +371
我迷路了!
t.
【问题讨论】:
【参考方案1】:我认为您实际上并未在 IIS 中加载 MVC 3。听起来你正在获得 MVC 2。仔细检查服务器上的 MVC 3 安装。还要检查 Web.Config 中的 bindingRedirect
。
【讨论】:
你是对的!有点..生产环境是MVC3,但我的开发机器是MVC3 RC.. :)以上是关于带有 Razor 的 MVC3 抛出找不到方法:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'的主要内容,如果未能解决你的问题,请参考以下文章