web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'Microsoft.ReportViewer.WebForms'

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.

42
Krishna

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.WebFormsv11.0.0.0 ainsi que Microsoft.ReportViewer.Commonv11.0.0.0) était désormais disponible dans le GAC.

58
EricG

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

 enter image description here

28
Kasper Roma

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).

22
jmoreno

J'ai résolu le problème en copiant les deux

  • Microsoft.ReportViewer.WebForms.dll de C:\Program Files (x86)\Microsoft Visual Studio 12.0\ReportViewer
  • et Microsoft.reportviewer.common.dll à partir de 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.

8
CDSwSrl

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.

1
user3657646

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.

0
Taran

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.

0
GunnarS

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.

0
Amit Mittal

Ma solution est:

  1. Copiez le fichier Microsoft.ReportViewer.WebForms.dll dans le dossier Bin de votre projet.
  2. Supprimer votre référence.
  3. Ajouter une nouvelle référence à partir du dossier bin.

J'espère que cela peut aider.

0
Hamlet Mendez

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" %>
0
Steve Greene

Ma version d'évaluation de DevExpress avait expiré. Essayez de le renouveler à nouveau.