J'essaie d'utiliser le visualiseur de rapports sur asp.net et j'ai téléchargé mon site. Cependant, lorsque ma page contenant le visualiseur de rapport est chargée, l'erreur suivante apparaît:
Impossible de charger le fichier ou l'assembly 'Microsoft.ReportViewer.WebForms, version = 11.0.0.0, Culture = neutre, PublicKeyToken = 89845dcd8080cc91' ou l'une de ses dépendances. La définition du manifeste de l'Assemblée localisée ne correspond pas à la référence de l'Assemblée. (Exception de HRESULT: 0x80131040)
C'est la première fois que je déploie un site Web ASP.NET. Je ne suis donc pas sûr du problème.
Ce lien m'a permis de comprendre que je n'ai pas installé la mise à jour requise (le numéro de version concerné, v11.0.0.0)
La mise à jour de ReportViewer 2012 'Gotcha' à connaître
J'ai installé la mise à jour SQLServer2008R2SP2
J'ai téléchargé ReportViewer.msi , qui devait avoir été installé Types de CLR du système Microsoft® pour Microsoft® SQL Server® 2012 (regardez à mi-chemin de la page pour l'installateur)
WebForms v11.0.0.0 (C:\Windows\Assembly\Microsoft.ReportViewer.WebForms
v11.0.0.0
ainsi que Microsoft.ReportViewer.Common
v11.0.0.0
) était désormais disponible dans le GAC.
J'ai installé Microsoft.ReportViewer.2012.Runtime package nuget et le problème a été résolu sans installer ReportViewer.msi ou SQL Feature Pack 12
Vous devez référencer Microsoft.ReportViewer.WebForms et Microsoft.ReportViewer.Common et définir la propriété CopyLocal sur true. Cela entraînera la copie de la dll dans notre répertoire bin (les deux sont nécessaires).
J'ai résolu le problème en copiant les deux
C:\Program Files (x86)\Microsoft Visual Studio 12.0\ReportViewer
C:\Program Files\Microsoft Office\Office15\ADDINS\PowerPivot Excel Add-in
dans le dossier bin (site web).
Bien sûr, web.config
doit avoir:
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
</httpHandlers>
<assemblies>
<add Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
<add Assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</buildProviders>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</handlers>
</system.webServer>
Et c'est tout ... pour moi, c'est bon.
J'espère que cela t'aides.
J'ai rencontré la même erreur. Mon application Web a été dirigée vers la version 10.0 de la visionneuse de rapports. Toutefois, si la version 11.0 est installée, elle ajoute une redirection dans le fichier .dll 10.0 à 11.0. Cela est devenu un problème lorsque 11.0 a été désinstallé car cela ne corrige pas la redirection dans le fichier .dll 10.0. La solution dans mon cas était simplement de désinstaller et de réinstaller 10.0.
J'ai eu la même erreur pour un paquet différent. Mon problème était qu'un projet dépendant référençait une version différente. Je les ai changés pour qu'ils soient la même version et tout était bien.
J'ai eu cette erreur en allant de la version 10.0.0.0, c'est-à-dire "Microsoft.ReportViewer.WebForms, Version = 10.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a" />
à la version 11.0.0.0, c.-à-d.
"Microsoft.ReportViewer.WebForms, version = 11.0.0.0, Culture = neutre, PublicKeyToken = 89845dcd8080cc91"
J'ai mis du temps à comprendre que non seulement la version avait été modifiée, mais également la clé à jeton public, comme vous pouvez le voir ci-dessus.
Téléchargez le fichier Microsoft.ReportViewer.WebForms.dll dans votre répertoire bin de votre application Web.
Vous pouvez trouver ce fichier dll dans le répertoire bin de votre application Web locale.
Ma solution est:
J'espère que cela peut aider.
J'ai eu cette erreur avec une ancienne application de formulaires Web. Il s'avère qu'il y avait une ligne dans le balisage causant le problème. Je l'ai enlevé et l'erreur a disparu.
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
Ma version d'évaluation de DevExpress avait expiré. Essayez de le renouveler à nouveau.