错误:类型 'System.Web.WebPages.Razor.WebPageRazorHost' 违反了继承安全规则。

13 浏览
0 Comments

错误:类型 'System.Web.WebPages.Razor.WebPageRazorHost' 违反了继承安全规则。

我的ASP.NET MVC 4解决方案突然出现了这个错误:

继承安全规则被类型‘System.Web.WebPages.Razor.WebPageRazorHost’违反了。派生类型的安全可访问性必须与基类型匹配或者更不可访问。

我在谷歌上搜索了这个问题,每个人都说这是在将解决方案从一个版本更新到另一个版本时发生的。但是我没有更新我的解决方案,只是将IDE从VS12更换到VS13。这是导致问题的原因吗?

完整的堆栈跟踪如下:

[TypeLoadException: 继承安全规则被类型‘System.Web.WebPages.Razor.WebPageRazorHost’违反了。派生类型的安全可访问性必须与基类型匹配或者更不可访问。]

System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType() +0

System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) +59

System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() +209

System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +30

System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +9971917

System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +299

System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +103

System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) +165

System.Web.Compilation.BuildManager.GetObjectFactory(String virtualPath, Boolean throwIfNotFound) +33

System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists(String virtualPath) +40

System.Web.Mvc.BuildManagerViewEngine.FileExists(ControllerContext controllerContext, String virtualPath) +54

Microsoft.Web.Mvc.FixedRazorViewEngine.Microsoft.Web.Mvc.IViewEngineProxy.FileExists(ControllerContext controllerContext, String virtualPath) +42

Microsoft.Web.Mvc.ViewEngineFixWorker

1.FileExists(ControllerContext controllerContext, String virtualPath) +57
     Microsoft.Web.Mvc.<>c__DisplayClass4.b__0(String path) +66
     System.Web.WebPages.DefaultDisplayMode.GetDisplayInfo(HttpContextBase httpContext, String virtualPath, Func

2 virtualPathExists) +90

System.Web.WebPages.<>c__DisplayClassb.b__8(IDisplayMode mode) +66

System.Linq.WhereSelectListIterator

2.MoveNext() +103
     System.Linq.Enumerable.FirstOrDefault(IEnumerable

1 source, Func

2 predicate) +94
     System.Web.WebPages.DisplayModeProvider.GetDisplayInfoForVirtualPath(String virtualPath, HttpContextBase httpContext, Func

2 virtualPathExists, IDisplayMode currentDisplayMode, Boolean requireConsistentDisplayMode) +297

System.Web.WebPages.DisplayModeProvider.GetDisplayInfoForVirtualPath(String virtualPath, HttpContextBase httpContext, Func

2 virtualPathExists, IDisplayMode currentDisplayMode) +108
     Microsoft.Web.Mvc.ViewEngineFixWorker

1.GetPathFromGeneralName(ControllerContext controllerContext, List

1 locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations) +653
     Microsoft.Web.Mvc.ViewEngineFixWorker

1.GetPath(ControllerContext controllerContext, String[] locations, String[] areaLocations, String locationsPropertyName, String name, String controllerName, String cacheKeyPrefix, Boolean useCache, String[]& searchedLocations) +1508

Microsoft.Web.Mvc.ViewEngineFixWorker

1.FindView(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache) +329
     Microsoft.Web.Mvc.FixedRazorViewEngine.FindView(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache) +66
     System.Web.Mvc.<>c__DisplayClassc.b__b(IViewEngine e) +68
     System.Web.Mvc.ViewEngineCollection.Find(Func

2 lookup, Boolean trackSearchedPaths) +182

System.Web.Mvc.ViewEngineCollection.Find(Func2 cacheLocator, Func2 locator) +110

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.b__17() +74

System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func

1 continuation) +388
     System.Web.Mvc.<>c__DisplayClass1c.b__19() +72
     System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList

1 filters, ActionResult actionResult) +303

System.Web.Mvc.Async.<>c__DisplayClass2a.b__20() +155

System.Web.Mvc.Async.<>c__DisplayClass25.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.<>c__DisplayClass1d.b__18(IAsyncResult asyncResult) +40
     System.Web.Mvc.Async.<>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.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.<>c__DisplayClass8.b__3(IAsyncResult asyncResult) +45
     System.Web.Mvc.Async.<>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() +9651116

System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

0