2013-01-09 27 views
2

我在MVC3剃刀工作我的項目fistly正常運行,但我得到的錯誤操作可能在MVC3剃刀動搖運行

Error 3 Assembly 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35' uses 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced  assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'  c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.Mvc.dll MvcApplication1 

我更換System.Web.Mvc.dll程序和System.Web程序。 WebPages.Razor文件從mvc4文件夾複製到mvc3文件夾。並在web.config中進行了一些更改,並且它開始正常工作。但現在幾天後,它告訴我下面的錯誤消息

操作可能會破壞運行時

說明:在當前Web請求的執行過程中發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.Security.VerificationException:操作可能會破壞運行時。

源錯誤:

在當前web請求的執行過程中生成未處理的異常。關於異常的來源和位置的信息可以使用下面的異常堆棧跟蹤來標識。在我的web.config

Stack Trace: 


[VerificationException: Operation could destabilize the runtime.] 
System.Web.Mvc.Razor.MvcWebPageRazorHost.GetRidOfNamespace(String ns) +32 
System.Web.Mvc.Razor.MvcWebPageRazorHost..ctor(String virtualPath, String physicalPath) +196 
System.Web.Mvc.MvcWebRazorHostFactory.CreateHost(String virtualPath, String physicalPath) +113 
System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfigCore (RazorWebSectionGroup  config, String virtualPath, String physicalPath) +422 
System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(String virtualPath, String physicalPath) +228 
System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(String virtualPath) +38 
System.Web.WebPages.Razor.RazorBuildProvider.GetHostFromConfig() +51 
System.Web.WebPages.Razor.RazorBuildProvider.CreateHost() +57 
System.Web.WebPages.Razor.RazorBuildProvider.get_Host() +56 
System.Web.WebPages.Razor.RazorBuildProvider.EnsureGeneratedCode() +92 
System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType() +54 
System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) +59 
System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() +209 
System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +15 
System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +9929933 
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 
System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext, List1  
locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations) +197 
System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext, String[] locations, String[] areaLocations, String locationsPropertyName, String name, String controllerName, String cacheKeyPrefix, Boolean useCache, String[]& searchedLocations) +681 
System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext, String  viewName, String masterName, Boolean useCache) +315 
System.Web.Mvc.<>c__DisplayClassc.<FindView>b__b(IViewEngine e) +68 
System.Web.Mvc.ViewEngineCollection.Find(Func2 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__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +74 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, 
Func1 continuation) +388 
System.Web.Mvc.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() +72 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext,IList1filters, ActionResult actionResult) +303 
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +844 
System.Web.Mvc.Controller.ExecuteCore() +130 
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +229 
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +39 
System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +71 
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +44 
System.Web.Mvc.Async.<>c__DisplayClass8 
1.<BeginSynchronous>b__7(IAsyncResult _) +42 
System.Web.Mvc.Async.WrappedAsyncResult 
1.End() +152 
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.<>c__DisplayClasse.<EndProcessRequest>b__d() +75 
System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +31 
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +61 
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +118 
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +38 
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9629708 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 

設置爲下

<assemblies> 
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </assemblies> 

請任何人給我幫助這個。

回答

0

我們也有類似的問題,與我們的項目之一。我們一直在使用MVC3並嘗試升級到MVC4。我們也升級到了Razor 2.0。原來web.configs沒有像預期的那樣全部更新。檢查〜/ Views文件夾中的web配置以及根web.config,並確保程序集綁定重定向正確,並且所有程序集引用都是正確的。我們這樣做了,問題就消失了