7

Ich benutze Visual Studio 2010 und ich installierte "Microsoft Report Viewer 2012 Runtime" in der Hoffnung, das neue Berichtssystem in SQL 2012 zu testen. Nach dem ich für "Microsoft.ReportViewer. WebForms "aus meiner Web.config und entfernte das ReportViewer-Steuerelement aus meiner Toolbox und fügte den neuen ReportViewer Version 11 hinzu.ReportViewer 11 (2012) Visual Studio 2010

habe ich die neue Steuerung auf eine Testseite und für ein fügt sie dieses Register auf der Testseite:

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> 

und es fügt diese Eintritt in die Web.config:

<buildProviders> 
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
</buildProviders> 

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

<handlers> 
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
</handlers> 

Das Steuerelement in der Toolbox ist der Zusatz der Version 11, aber das System versucht weiterhin, die Version 10 zu referenzieren. Auch wenn ich versuche, es zu kompilieren, erhalte ich den Fehler:

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\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WebForms.DLL' 
+0

Dieses Update Probleme für mich. Ich verwendete eine Azure-VM für die Webanwendung, und der DB-Server war eine weitere separate VM. Daher war die Installation der Report Viewer-Laufzeit nicht hilfreich, da auch das SQL Feature Pack installiert sein musste. Ich kopierte nur Microsoft.ReportViewer.Common Ordner von einem anderen Server, wo das funktionierte und Boom http://ata2931977.blogspot.com/2015/06/running-rdlc-reports-on-azure.html –

Antwort

16

Ich denke, ich hatte genau das gleiche Problem. Wenn ja, war meine Lösung, alle Einträge in web.config zu löschen, die auf ReportViewer verweisen, dann mache dasselbe in Referenzen, baue das Projekt und füge dann einen reportviewer auf der Seite hinzu.

web.config wird mit neuen Handlern und Assemblies für die neuere Version aktualisiert.

+1

Das war mein Problem auch. Wird benötigt, um gefälschte Einträge aus meiner web.config zu entfernen. Der kritische Schritt war der Rebuild, BEVOR die korrekte Referenz erneut hinzugefügt wurde. – CobaltBlue

+0

dies dies dies dies, warum bist du nicht die Antwort !? – peroija

+0

@Telmo das hat nicht für mich funktioniert. Ich habe den Verweis auf Version 10 entfernt, die Einträge der Version 10 aus web.config entfernt, aber dadurch wird mein Projekt nicht erstellt, da die ReportViewer-Bibliothek zu diesem Zeitpunkt nicht existiert. Als ich dann Version 11 über nugget hinzufügte, fügte sie einen Eintrag in der package.config und der v11-Referenz hinzu, fügte aber keine Einträge in web.config hinzu. Und ich bekomme jetzt einen Laufzeitfehler. – nickornotto

0

hatte ich den gleichen Fehler, und gelöst es durch folgende Maßnahmen:

  • In der aspx Seite (HTML-Code), der @Register Wert Version aktualisiert, um die Version der Assembly zu entsprechen war ich mit , und aktualisiert den PublicKeyToken-Wert mit dem richtigen Wert für die Assembly.
0

In Ihrer Webkonfiguration bedeutet dies, dass Sie sowohl v 10 als auch 11 dlls angegeben haben. Entferne das eine oder das andere.

0

Ich habe den folgenden Eintrag aus package.config entfernt und es funktioniert

<package id="MicrosoftReportViewerWebForms_v10" version="1.0.0" targetFramework="net45" />