Jea*_*amp 54 dependencies asp.net-4.0 razor asp.net-mvc-3
我刚刚升级了MVC 3项目(ASP.net 4)中的包,现在我在访问该项目中的页面时收到以下错误消息:
'/ MyApplication'应用程序中的服务器错误.
无法加载文件或程序集"System.Web.WebPages.Razor,版本= 2.0.0.0,文化=中性公钥= 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,版本= 2.0.0.0,文化=中性公钥= 31bf3856ad364e35"无法加载.
===预绑定状态信息===日志:用户= IIS APPPOOL\ASP.NET v4.0日志:DisplayName = System.Web.WebPages.Razor,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35(完全指定)LOG:Appbase = file:/// C:/.../ LOG:初始PrivatePath = C:...\bin调用程序集:Microsoft.Web.Helpers,Version = 2.0.0.0,Culture = neutral ,PublicKeyToken = 31bf3856ad364e35.===日志:此绑定在默认加载上下文中启动.日志:使用应用程序配置文件:C:...\web.config日志:使用主机配置文件:C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config日志:使用C中的机器配置文件: \的Windows\Microsoft.NET\Framework64\v4.0.30319\CONFIG\machine.config中.日志:后策略引用:System.Web.WebPages.Razor,Version = 2.0.0.0,Culture = neutral,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).探测终止.
堆栈跟踪:
[FileLoadException:无法加载文件或程序集'System.Web.WebPages.Razor,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)]
Microsoft.Web.Helpers.PreApplicationStartCode.Start()+ 0[InvalidOperationException:预应用程序启动初始化方法启动类型Microsoft.Web.Helpers.PreApplicationStartCode引发异常,并显示以下错误消息:无法加载文件或程序集'System.Web.WebPages.Razor,Version = 2.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040).]
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods)+11711966
System.Web.Compilation.BuildManager.CallPreStartInitMethods()+465
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,Exception appDomainCreationException)+1167[HttpException(0x80004005):预应用程序启动初始化方法启动类型Microsoft.Web.Helpers.PreApplicationStartCode引发异常,并显示以下错误消息:无法加载文件或程序集'System.Web.WebPages.Razor,Version = 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:
Run Code Online (Sandbox Code Playgroud)<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>
我甚至不知道我是否可以使用带有.Net 4的System.Web.WebPages.Razor v2.0.0.0.
现在,我如何找出引用System.Web.WebPages.Razor v2.0.0.0的内容?
Moh*_*mad 57
很简单.在Nuget Package Manager控制台中:
更新包Microsoft.AspNet.Mvc -Reinstall
Dig*_*mar 50
当我执行"删除未使用的引用"时,就会出现此问题.该网站仍然在我的本地机器上工作,但在发布后没有在服务器上工作.

我通过执行以下操作修复了此问题,
Dar*_*rov 27
我如何找出引用System.Web.WebPages.Razor v2.0.0.0的内容?
只需阅读您的异常堆栈跟踪:
Calling assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Run Code Online (Sandbox Code Playgroud)
所以看来你正在使用的Microsoft.Web.Helpers依次依赖于System.Web.WebPages.Razor, Version=2.0.0.0.
在经历了很多痛苦,谷歌搜索和拔毛后,我最终使用nuget卸载了MVC 4,从web配置中删除了对MVC,剃须刀和基础设施的所有引用,从bin文件夹中删除了dll - 然后使用nuget重新安装所有内容.花了更少的时间才弄清楚为什么dll不匹配.
在ASP.NET MVC 4中,命名空间不是System.Web.WebPages.Razor,而是System.Web.Razor
这对我有用,改变你的web.config.
| 归档时间: |
|
| 查看次数: |
177561 次 |
| 最近记录: |