我刚刚升级了 MVC 3 项目 (ASP.net 4) 中的包,现在在访问该项目中的页面时收到以下错误消息:
“/MyApplication”应用程序中的服务器错误。
无法加载文件或程序集“System.Web.WebPages.Razor,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040) 说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“System.Web.WebPages.Razor,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
程序集加载跟踪:以下信息有助于确定为什么无法加载程序集“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。
=== 预绑定状态信息 === LOG: User = IIS APPPOOL\ASP.NET v4.0 LOG: DisplayName = System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 (完全指定)日志:Appbase = file:///C:/.../ 日志:初始 PrivatePath = C:...\bin 调用程序集:Microsoft.Web.Helpers,版本=2.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35。=== LOG:此绑定在默认加载上下文中开始。LOG:使用应用程序配置文件:C:...\web.config LOG:使用主机配置文件:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config LOG:使用来自 C 的机器配置文件: \Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config。日志:政策后参考:System.Web.WebPages.Razor,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 日志:正在尝试下载新的 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor.DLL。日志:尝试下载新 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System .Web.WebPages.Razor.DLL。日志:正在尝试下载新的 URL 文件:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL。警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集设置(hr = 0x80131040)。探测终止。///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。日志:正在尝试下载新的 URL 文件:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL。警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集设置(hr = 0x80131040)。探测终止。///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。日志:正在尝试下载新的 URL 文件:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL。警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集设置(hr = 0x80131040)。探测终止。
堆栈跟踪:
[FileLoadException:无法加载文件或程序集“System.Web.WebPages.Razor,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 异常:0x80131040)]
Microsoft.Web.Helpers.PreApplicationStartCode.Start() +0[InvalidOperationException:Microsoft.Web.Helpers.PreApplicationStartCode 类型的预应用程序启动初始化方法 Start 引发异常,并显示以下错误消息:无法加载文件或程序集 'System.Web.WebPages.Razor,版本 = 2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 异常:0x80131040)。]
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 方法)+11711966
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +465
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,异常 appDomainCreationException)+1167[HttpException (0x80004005): 类型 Microsoft.Web.Helpers.PreApplicationStartCode 上的预应用程序启动初始化方法 Start 引发异常并显示以下错误消息:无法加载文件或程序集 'System.Web.WebPages.Razor,版本 = 2.0 .0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 异常:0x80131040)。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+11700896 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+ 4869125-------------------------------------------------- ------------------ 版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.272
在我的 web.config 文件和我的应用程序中,我引用 System.Web.WebPages.Razor v1.0.0.0:
<dependentAssembly> <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" /> </dependentAssembly>
我什至不知道我是否可以将 System.Web.WebPages.Razor v2.0.0.0 与 .Net 4 一起使用。
现在,我如何找出引用 System.Web.WebPages.Razor v2.0.0.0 的内容?