【发布时间】:2013-11-26 09:16:18
【问题描述】:
我通过 NuGet 修改了我的 ASP.NET MVC4 包,现在 System.Web.WebPages.Razor v3 将无法加载。有时其他包也不会加载。
我的同事运行解决方案没有任何问题,所以问题肯定是我的开发系统上的配置(而不是已签入的任何内容)。
我已经尝试过各种 SOf 和其他论坛链接上的建议,包括:
- 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
以及从那里链接的建议。我还检查了控制面板,发现没有安装引用 MVC 的程序。 (如果重要的话,我正在运行 MS Win 7 SP 1。)
我愿意接受任何和所有建议。
这是我的核心转储信息:
“/”应用程序中的服务器错误。
无法加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或 它的依赖项之一。系统找不到指定的文件。
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。
异常详细信息:System.IO.FileNotFoundException:无法加载文件或程序集 'System.Web.WebPages.Razor,版本 = 3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其之一 依赖关系。系统找不到指定的文件。
Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of可以使用下面的异常堆栈跟踪来识别异常。
Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.WebPages.Razor,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35' 无法加载。
=== 预绑定状态信息 === 日志:用户 = CodesWithHammer 日志:DisplayName = System.Web.WebPages.Razor,版本 = 3.0.0.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35 (完全指定) 日志:Appbase = file:///c:/users/CodesWithHammer/documents/visual studio 2012/Projects/MPP/MPP/ 日志:初始 PrivatePath = c:\users\CodesWithHammer\documents\visual studio 2012\项目\MPP\MPP\bin 调用程序集:Microsoft.Web.WebPages.OAuth,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35。
=== LOG:此绑定在默认加载上下文中开始。 日志:使用应用程序配置文件:c:\users\CodesWithHammer\documents\visual studio 2012\项目\MPP\MPP\web.config LOG:使用主机配置文件:C:\Users\CodesWithHammer\Documents\IISExpress\config\aspnet.config LOG:使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 中的机器配置文件。 日志:后策略参考:System.Web.WebPages.Razor,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 日志:尝试下载新的 URL 文件:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET 文件/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.DLL。 日志:尝试下载新的 URL 文件:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET 文件/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。 日志:尝试下载新的 URL 文件:///c:/users/CodesWithHammer/documents/visual studio 2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor.DLL。 日志:尝试下载新的 URL 文件:///c:/users/CodesWithHammer/documents/visual studio 2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。 日志:尝试下载新的 URL 文件:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET 文件/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.EXE。 日志:尝试下载新的 URL 文件:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET 文件/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE。 日志:尝试下载新的 URL 文件:///c:/users/CodesWithHammer/documents/visual studio 2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor.EXE。 日志:尝试下载新的 URL 文件:///c:/users/CodesWithHammer/documents/visual studio 2012/Projects/MPP/MPP/bin/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE。
堆栈跟踪:
[FileNotFoundException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。这 系统找不到指定的文件。] Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start() +0
[InvalidOperationException: The pre-application start initialization method Start on typeMicrosoft.Web.WebPages.OAuth.PreApplicationStartCode 抛出一个 带有以下错误消息的异常:无法加载文件或 程序集'System.Web.WebPages.Razor,版本=3.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。这 系统找不到指定的文件..] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection
1 methods, Func1 setHostingEnvironmentCultures) +550 System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 方法)+132 System.Web.Compilation.BuildManager.CallPreStartInitMethods(字符串 preStartInitListPath) +90 System.Web.Compilation.BuildManager.ExecutePreAppStart() +135 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, 异常 appDomainCreationException) +516[HttpException (0x80004005): The pre-application start initialization method Start on typeMicrosoft.Web.WebPages.OAuth.PreApplicationStartCode 抛出一个 带有以下错误消息的异常:无法加载文件或 程序集'System.Web.WebPages.Razor,版本=3.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。这 系统找不到指定的文件..] System.Web.HttpRuntime.FirstRequestInit(HttpContext 上下文) +9874840 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext 上下文)+101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest WR,HttpContext 上下文)+254
版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.18055
(对于那些读到这里的人:我没有足够的声誉来制作标签pulling-out-my-hair。如果有合适的现存标签,请包括它。KTHX。 )
ETA:当我尝试手动将 Microsoft.AspNet.Mvc 更新到版本 3 时,这是我在包管理器控制台上遇到的错误:
安装失败。回滚...安装包:更新 'Microsoft.AspNet.Mvc 5.0.0' 到 'Microsoft.AspNet.Mvc 3.0.20105.1' 失败的。找不到版本 'Microsoft.AspNet.Mvc.FixedDisplayModes' 兼容 'Microsoft.AspNet.Mvc 3.0.20105.1'。在行:1 字符:16 + 安装包
ETA2:我从同事那里得到了包目录。他们有MS.AspNet.Mvc v5,并且运行良好。但他们也有MS.AspNet.Mvc.FixedDisplayModes v5。所以我要把这两个都加进去。是的,我已经备份了我的整个解决方案。 :)
ETA3:所以我重新升级到 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
现在我的项目运行了!
感谢大家的帮助!
【问题讨论】:
-
你试过
clean然后rebuild你的解决方案吗?问题是您很可能通过 nuget 从 MVC4 更新到 MVC5。 -
我反复
cleaned 和rebuildt。我没有看到任何 MVC5 包,但我会检查 n 元组。
标签: c# asp.net-mvc-4 razor runtime-error