使用Razor抛出的MVC3找不到方法:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'

时间:2011-01-26 15:04:51

标签: iis-7 asp.net-mvc-3 razor

在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(Closure,ControllerBase   ,对象[])+79
  System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext   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,Func 1 continuation) +784922 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList 1个过滤器,   ActionDescriptor actionDescriptor,   IDictionary`2参数)+314
  System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext   controllerContext,String actionName)   +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   步,布尔& completedSynchronously)   371

我迷路了!

吨。

1 个答案:

答案 0 :(得分:1)

我认为你实际上并没有在IIS中加载MVC 3。听起来你正在获得MVC 2。仔细检查服务器上的MVC 3安装。还要检查Web.Config中的bindingRedirect