升级至VS 2008出现System.Web.Extensions, Version=2.0.0.0错误的解决
一个VS 2005的WEB项目,升级到VS2008后,包括使用Crystal Report及Ajax 1.0的页面,基本上都使用正常,整个升级过程,挺顺利的
结果第二天,突然发现在一个使用Crystal Report的页面出现如下提示
Could not load file or assembly 'System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
仔细查看页面代码,除了引用CrystalDecisions相关的文件没有其他手动引用的,并且这个页面没有用到AJAX
把Crystal Report相关的去掉,就没有错误提示,但是,令人奇怪的是,另外一个用到Crystal Report的页面,就不出现错误,aspx及cs文件都是一样的使用,基本上没有什么差异。
查看WEB.CONFIG配置System.Web.Extensions都是使用1.0.61025.0的
查看项目的References System.Web.Extensions也是1.0.61025.0
在WINDOWS\assembly中System.Web.Extensions有1.0.61025.0 及3.5.0.0的
问题与http://forums.asp.net/t/1118954.aspx?PageIndex=1(Could not load file or assembly System.Web.Extensions)挺像
不过,好像这个贴子也没解决这个问题。
后来,在MSDN上查了一下,用了一个bindingRedirect把这个问题解决了。这个方法,临时的先用着吧。
修改如下
在WEB.CONFIG中
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<!--节里增加以下配置-->
<bindingRedirect oldVersion="2.0.0.0" newVersion="1.0.61025.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
结果第二天,突然发现在一个使用Crystal Report的页面出现如下提示
Could not load file or assembly 'System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
仔细查看页面代码,除了引用CrystalDecisions相关的文件没有其他手动引用的,并且这个页面没有用到AJAX
把Crystal Report相关的去掉,就没有错误提示,但是,令人奇怪的是,另外一个用到Crystal Report的页面,就不出现错误,aspx及cs文件都是一样的使用,基本上没有什么差异。
查看WEB.CONFIG配置System.Web.Extensions都是使用1.0.61025.0的
查看项目的References System.Web.Extensions也是1.0.61025.0
在WINDOWS\assembly中System.Web.Extensions有1.0.61025.0 及3.5.0.0的
问题与http://forums.asp.net/t/1118954.aspx?PageIndex=1(Could not load file or assembly System.Web.Extensions)挺像
不过,好像这个贴子也没解决这个问题。
后来,在MSDN上查了一下,用了一个bindingRedirect把这个问题解决了。这个方法,临时的先用着吧。
修改如下
在WEB.CONFIG中
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<!--节里增加以下配置-->
<bindingRedirect oldVersion="2.0.0.0" newVersion="1.0.61025.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>