10

J'écris une application ASP.NET qui utilise une installation SQL Server 2005 avec SSRS. Je souhaite utiliser le contrôle ReportViewer mais une erreur se produit lors de l'utilisation de ReportViewer 10 car il nécessite SSRS 2008.Utilisation du contrôle ReportViewer 9 dans VS 2010

Comment utiliser ReportViewer 9 dans mon application. J'ai ajouté une référence à la version 9 Microsoft.ReportViewer.WebForms.dll et a supprimé la référence à la version 10.

Mon balisage est la suivante:

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

mais lorsque je tente d'exécuter ce que je obtenir l'erreur suivante:

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'

Qu'est-ce que j'ai manqué?

Mise à jour: Lorsque vous essayez d'utiliser le ReportViewer 10 J'obtiens l'erreur suivante:

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

Répondre

13

figured it out, a oublié de changer 3 références dans le fichier web.config:

au sein HttpHandler:

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

et dans les assemblées:

<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" /> 
+1

J'ai trouvé que vous devrez également exécuter votre application en mode classique (paramètre du pool d'applications) pour que ReportViewer 9.0 fonctionne. –

+0

merci cela a fonctionné parfaitement .. –

2

ne sais pas pourquoi, mais vous devriez essayer si cela fonctionne: ajoutez le code suivant à 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> 

avant

</configuration> 

il a travaillé pour moi

Questions connexes