Using ReportViewer 9 control in VS 2010
Asked Answered
S

2

10

I am writing an ASP.NET app that uses a SQL Server 2005 with SSRS setup. I want to use the ReportViewer control but I get an error when using ReportViewer 10 because it needs SSRS 2008.

How can I use ReportViewer 9 within my application. I've added a reference to the Microsoft.ReportViewer.WebForms.dll version 9 and removed the reference to version 10.

My markup is as follows:

<%@ 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>

but when I try to run this I get the following error:

CS0433: The type 'Microsoft.Reporting.WebForms.ReportViewer' exists in both 'c:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\10.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll' and 'c:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll'

What have I missed!?

Update: When trying to use the ReportViewer 10 I get the following error:

"Remote report processing requires Microsoft SQL Server 2008 Reporting Services or later."

Spirogyra answered 10/6, 2010 at 9:22 Comment(0)
S
13

Figured it out, forgot to change 3 references in the web.config file:

within HttpHandler:

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

and within assemblies:

<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" />
Spirogyra answered 10/6, 2010 at 9:37 Comment(1)
I found that you will also need to run your app in Classic mode (app pool setting) for ReportViewer 9.0 to work.Brigantine
N
2

don't know why, but you should try if this works: add the following code to 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>

before

</configuration>

it worked for me

Nganngc answered 6/5, 2011 at 19:52 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.