代码之家  ›  专栏  ›  技术社区  ›  Fermin

在vs 2010中使用ReportViewer 9控件

  •  10
  • Fermin  · 技术社区  · 14 年前

    我正在编写一个ASP.NET应用程序,它使用带有SSRS安装程序的SQL Server 2005。我想使用ReportViewer控件,但使用ReportViewer 10时出错,因为它需要SSR2008。

    如何在应用程序中使用ReportViewer 9。我添加了对Microsoft.ReportViewer.WebForms.dll版本9的引用,并删除了对版本10的引用。

    我的标记如下:

    <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
    <!-- standard markup -->
    <rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer>
    

    但当我尝试运行此程序时,会出现以下错误:

    CS0433:类型 'Microsoft.Reporting.WebForms.ReportViewer' 两者并存 'C:\windows\assembly\gac_msil\microsoft.reportviewer.webforms\10.0.0.0_uuuu b03f5f7f11d50a3a\microsoft.reportviewer.webforms.dll' 和 'C:\windows\assembly\gac_msil\microsoft.reportviewer.webforms\9.0.0.0_uuuu b03f5f7f11d50a3a\microsoft.reportviewer.webforms.dll'

    我错过了什么!?

    更新: 尝试使用ReportViewer 10时,会出现以下错误:

    “远程报告处理需要 Microsoft SQL Server 2008报告 服务或更高版本。”

    2 回复  |  直到 13 年前
        1
  •  13
  •   Fermin    14 年前

    找到了,忘记更改web.config文件中的3个引用:

    在httphandler中:

    <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    

    在组件内:

    <add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    
        2
  •  2
  •   Fangchen    13 年前

    不知道原因,但如果这有效,您应该尝试: 将以下代码添加到web.config

      <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.ReportViewer.WebForms" publicKeyToken="b03f5f7f11d50a3a" />
        <bindingRedirect oldVersion="9.0.0.0" newVersion="10.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
    

    之前

    </configuration>
    

    它对我有用