带有 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 控制器上下文,IDictionary2 parameters) +264 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 参数)+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, IList1 过滤器, 动作描述符动作描述符, 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()'的主要内容,如果未能解决你的问题,请参考以下文章

Capybara-webkit 抛出找不到变量:$

关于抛出找不到驱动异常

带有 Razor 的 MVC3 - 避免在部分视图上定义多个 javascript 函数

关于在Spark集群中读取本地文件抛出找不到文件异常的问题

关于在Spark集群中读取本地文件抛出找不到文件异常的问题

MVC3.0 中Razor 学习