运行时错误: 无法加载文件或程序集 'System.Web.WebPages.Razor, Version=3.0.0.0
运行时错误: 无法加载文件或程序集 'System.Web.WebPages.Razor, Version=3.0.0.0
我通过NuGet对我的ASP.NET MVC4包进行了调试,现在System.Web.WebPages.Razor v3
无法加载。有时候其他的包也无法加载。\n我的同事在没有任何问题的情况下运行了这个解决方案,所以问题肯定是出在我的开发系统上(而不是已经检查过的任何东西)。\n我已经尝试了各种SOf和其他论坛的建议,包括:\n
- \n
- Could not load file or assembly \'System.Web.WebPages.Razor, Version=2.0.0.0,
- Could not load file or assembly \'System.Web.WebPages.Razor, Version=2.0.0.0
- Could not load file or assembly \'System.Web.WebPages.Razor, Version=3.0.0.0
\n
\n
\n
\n以及从那里链接的建议。我还检查了控制面板,没有发现安装了任何与MVC相关的程序。(如果有关系的话,我正在运行MS Win 7 SP 1。)\n我对任何建议都持开放态度。\n以下是我的核心转储信息:\n
\n在\'/\'应用程序中的服务器错误。\n无法加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或\n它的某个依赖项。系统找不到指定的文件。\n描述: 在当前 Web 请求的执行期间,出现未处理的异常。请检查堆栈跟踪以获取有关错误的更多信息,以及错误的来源和位置的信息。\n异常详细信息: System.IO.FileNotFoundException: 无法加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,\nPublicKeyToken=31bf3856ad364e35”或它的某个依赖项。系统找不到指定的文件。\n
源错误: 在当前 Web 请求的执行期间生成了未处理的异常。有关异常的源和位置的信息可以使用下面的异常堆栈跟踪进行标识。程序集加载追踪: 以下信息可用于确定为什么无法加载程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
\nPublicKeyToken=31bf3856ad364e35”。\n=== 预装绑定状态信息 ===\nLOG: 用户 = CodesWithHammer\nLOG: DisplayName = System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\n(完全指定)\nLOG: Appbase = file:///c:/users/CodesWithHammer/documents/visual studio 2012/Projects/MPP/MPP/\nLOG: 初始 PrivatePath = c:\\users\\CodesWithHammer\\documents\\visual studio\n2012\\Projects\\MPP\\MPP\\bin\n调用程序集:Microsoft.Web.WebPages.OAuth, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35。\n===\nLOG: 此绑定在默认加载上下文中开始。\nLOG: 使用应用程序配置文件:c:\\users\\CodesWithHammer\\documents\\visual studio\n2012\\Projects\\MPP\\MPP\\web.config\nLOG: 使用主机配置文件:C:\\Users\\CodesWithHammer\\Documents\\IISExpress\\config\\aspnet.config\nLOG: 从 C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\config\\machine.config 使用机器配置文件。\nLOG: 后策略引用: System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\nLOG: 尝试下载新 URL file:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET\nFiles/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.DLL。\nLOG: 尝试下载新 URL file:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET\nFiles/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。\nLOG: 尝试下载新 URL file:///c:/users/CodesWithHammer/documents/visual studio\n2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor.DLL。\nLOG: 尝试下载新 URL file:///c:/users/CodesWithHammer/documents/visual studio\n2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。\nLOG: 尝试下载新 URL file:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET\nFiles/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.EXE。\nLOG: 尝试下载新 URL file:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET\nFiles/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE。\nLOG: 尝试下载新 URL file:///c:/users/CodesWithHammer/documents/visual studio\n2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor.EXE。\nLOG: 尝试下载新 URL file:///c:/users/CodesWithHammer/documents/visual studio\n2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE。\n堆栈跟踪: \n
[FileNotFoundException: 无法加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,\nPublicKeyToken=31bf3856ad364e35”或它的某个依赖项。系统找不到指定的文件。]\nMicrosoft.Web.WebPages.OAuth.PreApplicationStartCode.Start() +0\n
[InvalidOperationException: 类型\nMicrosoft.Web.WebPages.OAuth.PreApplicationStartCode 的 pre-application start 初始化方法 Start 引发了\n 一个异常,其错误消息为“无法加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,\n PublicKeyToken=31bf3856ad364e35”或它的某个依赖项。系统找不到指定的文件。”。]\nSystem.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection
1 methods, Func1 setHostingEnvironmentCultures) +550\nSystem.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1\n methods) +132\nSystem.Web.Compilation.BuildManager.CallPreStartInitMethods(String\n preStartInitListPath) +90\nSystem.Web.Compilation.BuildManager.ExecutePreAppStart() +135\nSystem.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager\n appManager, IApplicationHost appHost, IConfigMapPathFactory\n configMapPathFactory, HostingEnvironmentParameters hostingParameters,\n PolicyLevel policyLevel, Exception appDomainCreationException) +516\n
[HttpException (0x80004005): 类型\nMicrosoft.Web.WebPages.OAuth.PreApplicationStartCode 的 pre-application start 初始化方法 Start 引发了\n 一个异常,其错误消息为“无法加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,\n PublicKeyToken=31bf3856ad364e35”或它的某个依赖项。系统找不到指定的文件。”。]\nSystem.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9874840\nSystem.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101\nSystem.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest\n wr, HttpContext context) +254\n版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.18055\n
\n(对于读到这里的人:我没有足够的声望来使用标签pulling-out-my-hair。如果有适当的已有标签,请包含进去。KTHX。)\nETA:当我尝试手动更新Microsoft.AspNet.Mvc
到版本3时,Package Manager Console显示了以下错误:\n
\n安装失败。正在回滚… Install-Package : 将“Microsoft.AspNet.Mvc 5.0.0”更新为“Microsoft.AspNet.Mvc 3.0.20105.1”失败。无法找到与“Microsoft.AspNet.Mvc 3.0.20105.1”兼容的版本“Microsoft.AspNet.Mvc.FixedDisplayModes”。 在行:1 字符:16 + Install-Package <<<< Microsoft.AspNet.Mvc -Version 3.0.20105.1 + CategoryInfo : NotSpecified: (:) [Install-Package],InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand\n
\nETA2:我从我的同事那里获取了packages目录。他们有MS.AspNet.Mvc
v5,运行得很好。但他们还有MS.AspNet.Mvc.FixedDisplayModes
v5。所以我打算添加这两个。是的,我已经备份了整个解决方案。:)\nETA3:所以我重新升级到AspNet MVC v5,并跳过了废弃的Mvc.FixedDisplayNodes。然后我遇到了AspNet.WebPages版本冲突的问题,所以我使用了这个修复方法:Conflicting versions of ASP.NET Web Pages detected: specified version is \"1.0.0.0\", but the version in bin is \"2.0.0.0\" in ASP.MET MVC 3\n现在我的项目可以运行了!\n感谢所有的帮助!
在使用ASP.NET开发网站时,有时会遇到一个错误信息:Runtime error: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0。这个错误的原因是因为缺少了System.Web.WebPages.Razor这个程序集或者版本不匹配。
解决这个问题的方法是重新安装Microsoft.AspNet.WebPages nuget packages。可以使用以下命令在包管理器控制台中重新安装该包:
Update-Package –reinstall Microsoft.AspNet.WebPages
如果遇到这个问题,可以通过以下链接找到解决方案:[stackoverflow.com/questions/19959406/...](https://stackoverflow.com/questions/19959406#answer-34923294)。
希望这个解决方法可以帮助到遇到类似问题的开发者。