我通过 NuGet 修改了我的 ASP.NET MVC4 包,现在System.Web.WebPages.Razor v3
无法加载。有时其他包也不会加载。
我的同事运行解决方案没有任何问题,所以问题肯定是我的开发系统上的配置(而不是任何已签入的)。
我已经在各种 SOf 和其他论坛链接上尝试过这些建议,包括:
- 无法加载文件或程序集'System.Web.WebPages.Razor,版本 = 2.0.0.0,
- 无法加载文件或程序集'System.Web.WebPages.Razor,版本 = 2.0.0.0
- 无法加载文件或程序集'System.Web.WebPages.Razor,版本 = 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,Version=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' 无法加载。
=== 预绑定状态信息 === LOG:User = CodesWithHammer LOG:DisplayName = System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35(完全指定) LOG:Appbase = file:///c:/users/CodesWithHammer/documents/visual studio 2012/Projects/MPP/MPP/ LOG: Initial PrivatePath = c:\users\CodesWithHammer\documents\visual studio 2012\Projects\MPP\MPP\bin 调用程序集:Microsoft.Web.WebPages.OAuth,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35。
=== LOG:此绑定在默认加载上下文中开始。日志:使用应用程序配置文件:c:\users\CodesWithHammer\documents\visual studio 2012\Projects\MPP\MPP\web.config 日志:使用主机配置文件: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/临时 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 Files/root/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.EXE。日志:尝试下载新的 URL 文件:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Files/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 type
Microsoft.Web.WebPages.OAuth.PreApplicationStartCode 引发异常并显示以下错误消息:无法加载文件或程序集“System.Web.WebPages.Razor,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或其中之一它的依赖关系。系统找不到指定的文件..] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection
1 methods, Func
1 setHostingEnvironmentCultures) +550 System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 方法) +132 System.Web.Compilation.BuildManager.CallPreStartInitMethods(String 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 type
Microsoft.Web.WebPages.OAuth.PreApplicationStartCode 引发异常并显示以下错误消息:无法加载文件或程序集“System.Web.WebPages.Razor,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或其中之一它的依赖关系。系统找不到指定的文件..] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9874840 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.18055
(对于那些读到这里的人:我没有足够的声誉来让标签拔出我的头发。如果有合适的现存标签,请包括它。KTHX。)
ETA:当我尝试手动更新Microsoft.AspNet.Mvc
到版本 3 时,这是我在包管理器控制台上遇到的错误:
安装失败。回滚...安装包:将“Microsoft.AspNet.Mvc 5.0.0”更新为“Microsoft.AspNet.Mvc 3.0.20105.1”失败。找不到与“Microsoft.AspNet.Mvc 3.0.20105.1”兼容的“Microsoft.AspNet.Mvc.FixedDisplayModes”版本。在 line:1 char:16 + Install-Package <<<< Microsoft.AspNet.Mvc -Version 3.0.20105.1 + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands .InstallPackageCommand
ETA2:我从同事那里得到了包目录。他们有MS.AspNet.Mvc
v5,并且运行良好。但他们也有MS.AspNet.Mvc.FixedDisplayModes
v5。所以我要把这两个都加进去。是的,我已经备份了我的整个解决方案。:)
ETA3:所以我重新升级到 AspNet MVC v5,并跳过了已弃用的 Mvc.FixedDisplayNodes。然后我遇到了 AspNet.WebPages 版本冲突的问题,所以我使用了这个修复: 检测到的 ASP.NET 网页冲突版本:指定版本为“1.0.0.0”,但 bin 中的版本为“2.0.0.0” ASP.MET MVC 3
现在我的项目运行了!
感谢大家的帮助!