Solución:
** Actualización **: 19/11/2019
Microsoft ha lanzado una nueva versión del control 150.1400.0
en su biblioteca de Nuget. Mi prueba corta muestra que funciona de nuevo en el diseñador de formularios donde 150.1357.0
y 150.1358.0
No. Esto incluye poder cambiar el tamaño y modificar las tareas de ReportViewer en el control mismo.
** Actualización **: 18/8/2019
Eliminar la última versión y volver a 150.900.148.0
parece funcionar en varias computadoras que estoy usando con VS2017 y VS2019.
Puede revertir a 150.900.148 en el administrador de paquetes de la solución Nuget. Funciona de manera similar a las versiones anteriores. Utilice el cuadro desplegable para seleccionar la versión anterior.
Puede ser más fácil eliminar manualmente las referencias para publicar 150.900 versiones de ReportViewer y leerlas que corregirlas.
Recuerde reiniciar Visual Studio después de cambiar la entrada de la caja de herramientas.
Actualizar: 7/8/2019
Se lanzó una versión más reciente del control ReportViewer, probablemente coincidiendo con Visual Studio 2019. Estaba trabajando con V150.1358.0.
Seguir las instrucciones de esta respuesta obtiene el control en la caja de herramientas del diseñador. Pero una vez que se coloca en el formulario, no se muestra. El control aparece debajo del formulario como un componente no visual.
Esto está funcionando según lo diseñado de acuerdo con Microsoft SQL BI apoyo. Este es el grupo responsable del control.
Aunque todavía no puede interactuar con el control directamente, estos pasos adicionales proporcionan una solución para que el control se pueda ajustar en el formulario. Aunque ahora está visible, el diseñador trata el control como si no existiera.
He creado una solicitud de comentarios por sugerencia del soporte de Microsoft SQL BI. Considere votarlo para llamar la atención de Microsoft.
Página de comentarios de Microsoft Azure: restaure las características de Designtime del control WinForms ReportViewer
Pasos adicionales:
- Después de agregar el visor de informes a WinForm
- Agregue un control de panel a WinForm.
-
En el archivo form.designer.cs del formulario, agregue el control Reportviewer al panel.
// // panel1 // this.panel1.Controls.Add(this.reportViewer1);
-
Regrese al diseñador del formulario, debería ver el visor de informes en el panel
- En el panel Propiedades, seleccione ReportViewer en el menú desplegable de la lista de controles.
- Establezca la propiedad Dock de reportViewer en Rellenar
Ahora puede colocar reportViewer interactuando con el panel.
Actualizar: Microsoft publicó un documento el 18 de abril de 2017 que describe cómo configurar y usar la herramienta de informes en Visual Studio 2017.
Visual Studio 2017 no tiene la ReportViewer
herramienta instalada por defecto en ToolBox. Instalando la extensión Diseñador de informes de Microsoft Rdlc para Visual Studio y luego agregarlo a ToolBox da como resultado un componente no visual que aparece debajo del formulario.
El soporte técnico de Microsoft me había dicho que se trataba de un error, pero a partir del 21 de abril de 2017 “funciona según lo diseñado”.
Se deben seguir los siguientes pasos para cada proyecto que requiera ReportViewer
.
- Si usted tiene
ReportViewer
en la Caja de herramientas, elimínelo. Resalte, haga clic con el botón derecho y elimine.- Deberá tener un proyecto con un formulario abierto para hacer esto.
Editado el 7/8/2019: parece que la versión actual de la extensión RDLC Report Designer ya no interfiere. Lo necesita para editar realmente los informes.
-
Si tienes el Diseñador de informes de Microsoft Rdlc para Visual Studio extensión instalada, desinstálela. -
Cierre su solución y reinicie Visual Studio. Este es un paso crucial, se producirán errores si VS no se reinicia al cambiar entre soluciones.
- Abra su solución.
- Abra la consola del administrador de paquetes NuGet (
Tools/NuGet Package Manager/Package Manager Console
) -
En el indicador PM> ingrese este comando, el caso es importante.
Install-Package Microsoft.ReportingServices.ReportViewerControl.WinForms
Debería ver un texto que describe la instalación del paquete.
Ahora podemos agregar temporalmente el ReportViewer
herramienta a la caja de herramientas.
-
Haga clic derecho en la caja de herramientas y use
Choose Items...
-
Necesitamos buscar la DLL adecuada que se encuentra en las soluciones
Packages
carpeta, así que presione el botón Examinar. -
En nuestro ejemplo, podemos pegar en la carpeta de paquetes como se muestra en el texto de Package Manager Console.
C:UsersjdoeDocumentsProjects_TestReportViewerTestWindowsFormsApp1packages
-
Luego haga doble clic en la carpeta llamada
Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80
El número de versión probablemente cambiará en el futuro.
-
Luego haga doble clic en
lib
y de nuevo ennet40
. -
Finalmente, haga doble clic en el archivo.
Microsoft.ReportViewer.WinForms.dll
Deberías ver
ReportViewer
marcado en el cuadro de diálogo. Desplácese hacia la derecha y verá la versión 14.0.0.0 asociada. -
Haga clic en Aceptar.
ReportViewer
ahora se encuentra en ToolBox.
-
Arrastre la herramienta a los formularios deseados.
-
Una vez completado, elimine el
ReportViewer
herramienta de la caja de herramientas. No puedes usarlo con otro proyecto. -
Puede guardar el proyecto y está listo para comenzar.
Recuerde reiniciar Visual Studio cada vez que necesite abrir un proyecto con ReportViewer
para que la DLL se cargue desde la ubicación correcta. Si intenta abrir una solución con un formulario con ReportViewer
sin reiniciar, verá errores que indican que el “The variable 'reportViewer1' is either undeclared or was never assigned.
“.
Si agrega un nuevo proyecto a la misma solución, necesita crear el proyecto, guarde la solución, reinicie Visual Studio y luego debería poder agregar el ReportViewer
a la forma. Lo he visto no funcionar la primera vez y aparece como un componente no visual.
Cuando eso sucede, eliminar el componente del formulario, eliminar el Microsoft.ReportViewer.*
referencias del proyecto, guardar y reiniciar normalmente funciona.
Actualización: esta respuesta funciona con Visual Sudio 2017 y 2019
Para mí funcionó mediante los siguientes tres pasos:
- Actualización de Visual Studio a la última compilación.
- Añadiendo Asistente para informes / informes al Agregar ítem nuevo menú por:
- Ir al menú de Visual Studio Herramientas / Extensiones y Actualizaciones
- Escoger En línea desde el panel izquierdo.
- Buscar Diseñador de informes de Microsoft Rdlc para Visual Studio
- Descárgalo e instálalo.
-
Agregar control de visor de informes mediante:
-
Ir a Administrador de paquetes NuGet.
-
Instalando Microsoft.ReportingServices.ReportViewerControl.Winforms
- Vaya a la carpeta que contiene Microsoft.ReportViewer.WinForms.dll: % PERFIL DE USUARIO% . Nuget packages microsoft.reportingservices.reportviewercontrol.winforms 140.1000.523 lib net40
- Arrastrar el Microsoft.ReportViewer.WinForms.dll archivo y suéltelo en Visual Studio Caja de herramientas Ventana.
-
Para WebForms aplicaciones:
- Lo mismo.
- Lo mismo.
-
Agregar control de visor de informes mediante:
-
Ir a Administrador de paquetes NuGet.
-
Instalando Microsoft.ReportingServices.ReportViewerControl.WebForms
- Vaya a la carpeta que contiene el archivo Microsoft.ReportViewer.WebForms.dll: % PERFIL DE USUARIO% . Nuget packages microsoft.reportingservices.reportviewercontrol.webforms 140.1000.523 lib net40
- Arrastrar el Microsoft.ReportViewer.WebForms.dll archivo y suéltelo en Visual Studio Caja de herramientas Ventana.
-
¡Eso es todo!
TENGA EN CUENTA que este procedimiento de agregar los servicios de informes descritos por @Rich Shealer anteriormente se repetirá cada vez que inicie un proyecto diferente. Para evitar eso:
-
Si es posible que necesite configurar una computadora diferente (por ejemplo, en casa sin Internet), mantenga los instaladores descargados del mercado en un lugar seguro, es decir:
- Microsoft.DataTools.ReportingServices.vsix y
- Microsoft.RdlcDesigner.vsix
-
Obtenga las siguientes bibliotecas de los paquetes o la carpeta bin de la aplicación que ha creado con los servicios de informes en ella:
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.DataVisualization.dll
- Microsoft.ReportViewer.Design.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
- Microsoft.ReportViewer.WinForms.dll
-
Instale los 2 componentes del 1 anterior
- Agregue los dlls de 2 anteriores como referencias (Proyecto> Referencias> Agregar …)
- (Opcional) Agregue la pestaña Informes a la barra de herramientas
- Agregar elementos a la pestaña Informes
- Busque la carpeta bin o donde tenga los archivos DLL anteriores y agréguelos
¡Ya está listo para comenzar! El icono de ReportViewer se agregará a su barra de herramientas, y ahora también encontrará las plantillas de Report y ReportWizard agregadas a su lista Común de plantillas cuando desee agregar un Nuevo Elemento … (Informe) a su proyecto.
NB: cuando se configura con el administrador de paquetes Nuget, las plantillas Report y ReportWizard se agrupan en Reporting. Sin embargo, usar mi método descrito anteriormente no agrega la agrupación de informes en las plantillas instaladas, pero no creo que sea ningún problema dado que le permite integrar rápidamente rdlc sin Internet y sin descargar lo que ya tiene de Nuget cada vez.