未能加载文件或程序集“System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
--------------------------------------------------------------
-我使用的是VS2008,所有的System.Web.Extensions版本是3.5。在配置文件中搜索,根本没有System.Web.Extensions, Version=2.0.0.0这一条。
其他页面一切正常,仅仅这个页面使用了水晶报表控件CrystalReportViewer,无法显示报表,出现了上面这个提示。
网上搜出来那些装AJAX解决方法,根本不是那回事,我是在本机上运行的。引用的所有DLL全选的复制到本地,且在bin目录里能找到。
怀疑CrystalReportViewer需要System.Web.Extensions,Version=2.0.0.0的支持,但不知道哪里改。

解决方案 »

  1.   

    百度搜索了无数次,全是却少DLL的问题,我这问题不是那样的,是由于使用水晶报表才引起的,网上没搜到相关资料。求助
      

  2.   

    是水晶报表版本的问题。其实以website的方式是可以正常报表显示的,没有什么影响。我目前就是这样、
      

  3.   

    那个水晶报表可能是在.net 2.0版本下做的。3.5后2.0的有些引用已经无效了。
      

  4.   

    我新做的报表,仅仅用PULL模式直连数据库
      

  5.   


    我是在创建工程的时候,选用了website的方式,这样你创建一个报表,只有一个 XX.RPT文件,没有相关的rpt.cs。这样就不会有问题。要不你做个例子测试下。。
      

  6.   


    呵呵,我也找了好久的办法,也没有解决,解决了通知下。
    我觉得可能是 vs2008装的版本的问题,因为我装的是 Team版,另一个装的Professional版的就没有这个问题。
      

  7.   

    哈哈,一不小心解决了:我把bin目录里的System.Web.Extensions.dll删除掉,然后就可以运行了。
    我想原因可能是水晶报表使用的是System.Web.Extensions 2.0版本,而bin目录已有System.Web.Extensions3.5版本。删除之后,程序就自动加载2.0版本给水晶报表了
      

  8.   

    报表需要使用2.0的,你原来的System.Web.Extensions.dll肯定是低于2.0的,删除后系统自动去找兼容2.0的版本,由于你升到了3.5,是兼容2.0的,所以就能够正常使用了。