启动时Web MVC应用程序错误

时间:2014-08-29 23:37:17

标签: asp.net-mvc asp.net-mvc-4

WebMvc应用程序出现此错误的原因是什么?

Attempt by method 'System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(System.Web.Mvc.ControllerContext, System.String[], System.String[], System.String, System.String, System.String, System.String, Boolean, System.String[] ByRef)' 

访问方法'System.Web.Mvc.VirtualPathProviderViewEngine.get_DisplayModeProvider()'失败。

应用程序中的服务器错误。

尝试方法'System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(System.Web.Mvc.ControllerContext,System.String [],System.String [],System.String,System.String,System.String,System .String,Boolean,System.String [] ByRef)'访问方法'System.Web.Mvc.VirtualPathProviderViewEngine.get_DisplayModeProvider()'失败。   描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.MethodAccessException:尝试方法'System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(System.Web.Mvc.ControllerContext,System.String [],System.String [],System.String,System。 String,System.String,System.String,Boolean,System.String [] ByRef)'访问方法'System.Web.Mvc.VirtualPathProviderViewEngine.get_DisplayModeProvider()'失败。

来源错误:

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈追踪:

[MethodAccessException:尝试方法'System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(System.Web.Mvc.ControllerContext,System.String [],System.String [],System.String,System.String,System。 String,System.String,Boolean,System.String [] ByRef)'访问方法'System.Web.Mvc.VirtualPathProviderViewEngine.get_DisplayModeProvider()'失败。    System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext,String [] locations,String [] areaLocations,String locationsPropertyName,String name,String controllerName,String cacheKeyPrefix,Boolean useCache,String []&searchLocations)+692    System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext,String viewName,String masterName,Boolean useCache)+315    System.Web.Mvc。&lt;&gt; c__DisplayClassc.b__a(IViewEngine e)+68    System.Web.Mvc.ViewEngineCollection.Find(Func 2 lookup, Boolean trackSearchedPaths) +182 System.Web.Mvc.ViewEngineCollection.Find(Func 2 cacheLocator,Func 2 locator) +67 System.Web.Mvc.ViewEngineCollection.FindView(ControllerContext controllerContext, String viewName, String masterName) +329 System.Web.Mvc.ViewResult.FindView(ControllerContext context) +135 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +230 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +39 System.Web.Mvc.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() +74 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func 1 continuation)+388    System.Web.Mvc。&lt;&gt; c__DisplayClass1c.b__19()+72    System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext,IList 1 filters, ActionResult actionResult) +303 System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +155 System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +184 System.Web.Mvc.Async.WrappedAsyncResult 1.End()+136    System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,Object tag)+56    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)+40    System.Web.Mvc。&lt;&gt; c__DisplayClass1d.b__18(IAsyncResult asyncResult)+40    System.Web.Mvc.Async。&lt;&gt; c__DisplayClass4.b__3(IAsyncResult ar)+47    System.Web.Mvc.Async.WrappedAsyncResult 1.End() +151 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +47 System.Web.Mvc.Async.WrappedAsyncResult 1.End()+151    System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,Object tag)+59    System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,Object tag)+40    System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)+39    System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)+39    System.Web.Mvc。&lt;&gt; c__DisplayClass8.b__3(IAsyncResult asyncResult)+45    System.Web.Mvc.Async。&lt;&gt; c__DisplayClass4.b__3(IAsyncResult ar)+47    System.Web.Mvc.Async.WrappedAsyncResult`1.End()+ 151    System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,Object tag)+59    System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,Object tag)+40    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)+40    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)+38    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+9690164    System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)+155

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34009

2 个答案:

答案 0 :(得分:1)

  

WebMvc应用程序出现此错误的原因是什么?

嗯......我想知道......

  

我更新了一些MVC库。

嗯,你去吧。你基本上做的是走进医生办公室并说:“医生,我无法弄清楚为什么我的手臂会有这种可怕的疼痛”,医生回答说“你有什么事吗?”你回答说:“我只用刀刺了143次.....”

首先,您不能只更新库。升级MVC有一个必须经历的过程。

http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2

其次,即使您要更新库,也不能只升级它们中的“一些”。这些库都是相互依赖的,并且在没有其他库的情况下升级它们会导致许多问题。

有许多配置需要更新,以及保持各种DLL的同步。更不用说,从VS2010到2013意味着卸载目标.net 4和安装4.5版本的软件包......

答案 1 :(得分:0)

在您的项目中右键单击并选择“管理NuGet包”,在右侧打开的框中,选择“在线”选项,将出现“Microsoft ASP.NET MVC”安装它。这解决了我的问题。