2012-08-30 36 views
7

Estoy usando Visual Studio 2010 e instalé "Microsoft Report Viewer 2012 Runtime" con la esperanza de probar el nuevo sistema de informes en SQL 2012. Después de eso autoricé para ref la "Microsoft.ReportViewer". WebForms "de mi Web.config y eliminé el control ReportViewer de mi caja de herramientas y agregué la nueva versión 11 ReportViewer.ReportViewer 11 (2012) Visual Studio 2010

que añade el nuevo control a una página de prueba y por una suma que este registro a la página de prueba:

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

y añade estas entrada al 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> 

El control en la caja de herramientas es la versión 11, pero el sistema sigue tratando de ref hacer la versión 10 de verion. También cuando intento compilarlo obtengo el error:

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

Esta corrección problemas para mí. Estaba usando una máquina virtual de Azure para la aplicación web y el servidor de la base de datos era otra máquina virtual separada, por lo que la instalación de Report Viewer en tiempo de ejecución no era útil, ya que también necesitaba instalar SQL Feature Pack. Acabo de copiar la carpeta Microsoft.ReportViewer.Common de otro servidor donde estaba funcionando y auge http://ata2931977.blogspot.com/2015/06/running-rdlc-reports-on-azure.html –

Respuesta

16

Creo que tuve exactamente el mismo problema. Si es así, mi solución fue eliminar todas las entradas en web.config haciendo referencia a ReportViewer, luego hacer lo mismo en References, compilar el proyecto y luego volver a agregar un reportviewer en la página.

web.config se actualizará con nuevos controladores y ensamblajes para la versión más nueva.

+1

Este fue mi problema también. Necesario para eliminar entradas falsas de mi web.config. El paso crítico fue la reconstrucción ANTES de volver a agregar la referencia correcta. – CobaltBlue

+0

esto esto esto esto esto, ¿por qué no eres la respuesta? – peroija

+0

@Telmo esto no funcionó para mí. Eliminé la referencia a la versión 10, eliminé las entradas de la versión 10 de web.config, pero esto no generará mi proyecto, ya que la biblioteca ReportViewer no existe en esta etapa. Cuando agregué la versión 11 a través de Nuget, agregué la entrada en las referencias package.config y v11 pero no agregué ninguna entrada en web.config. Y obtengo un error de tiempo de ejecución ahora. – nickornotto

0

que tenían el mismo error, y lo resolvió de la siguiente manera:

  • En la página aspx (código HTML), el valor actualizado @Register Versión para corresponder a la versión del ensamblado que estaba usando y actualizó el valor de PublicKeyToken con el valor correcto para el ensamblaje.
0

En su configuración web, significa que ha especificado tanto v 10 como 11 dlls. Eliminar uno o el otro.

0

He quitado la siguiente entrada del package.config y funciona

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