5x8小时服务热线:131 4102 7650(同微信)
您当前的位置:首页 > 网站常识 - 网站维护

由vs 2005升级到vs 2008后,运行时出现错误:未能加载文件或程序

来源:加网 标签:网站维护空间维护
分享到:
    之前,把一个项目由vs 2005升级到vs 2008,编译的时候,除了在页面中引用水晶报表的版本有点错误,其他没有出现错误。在升级的过程中,就已经提示说“必须将水晶报表的版本由2005升级到2008,否则功能将无法使用”,所以,编译的时候错误就很正常了,只要把原来的控件删除掉,重新拉一个控件,就可以了。

    可是,在运行以后,打开含有水晶报表控件的页面时,却出现了以下的错误:

未能加载文件或程序集“System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040),于是我上网找,搜了好久才搜到两篇相关的文章,一篇还是英文的,需要借助翻译软件才能看懂个大概。下面是我试过可以用的代码,是加在web.config中的:




[c-sharp] view plaincopy
01.<runtime>  
02.  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
03.    <publisherPolicy apply="no"/>  
04.    <dependentAssembly>  
05.      <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral"/>  
06.      <bindingRedirect oldVersion="2.0.0.0" newVersion="1.0.61025.0"/>  
07.    </dependentAssembly>  
08.  </assemblyBinding>  
09.</runtime>  
 

oldVersion是当前在用的System.Web.Extensions的版本,我还是用2.0,所以这里是2.0.0.0,如果你用的是3.5.0.0,那就要改为oldVersion = 3.5.0.0,newVersion是用vs2005时的System.Web.Extensions的版本。

原文:The above configuration tells .NET to use System.Web.Extensions version 1.0.61025 instead of version 2.0.0.0. While the above does pose to be a solution to the problem, it is concerning that this would be needed at all.

翻译:上面的配置告诉。NET中使用System.Web.Extensions程序版本1.0.61025而不是版本2.0.0.0。虽然上述不构成解决问题的方法,它是有关,这将是需要的。

现在,程序可以正常使用水晶报表了。在服务器部署的时候,还需要安装CRRedist2008_x86.msi,CRRedist2008_x86_chs.msi(汉化,不是必须的)。
备注:本篇文章由加网编辑原创内容,转载请注明出处:转自加网

相关网站常识

更多