在Visual Studio 2017 RC中缺少Reportviewer工具
我刚开始在名为visual studio 2017 RC的新版Visual Studio中编写报告软件,但只是注意到Windows窗体和WPF应用程序模板都缺少核心报告查看工具。 任何人都可以告诉我为什么reportviewer工具从视觉工作室2017消失了? 没有它真的遇到麻烦。 在新的Visual Studio中有没有可以使用此工具的替代方案?
更新 :Microsoft于2017年4月18日发布了一个文档 ,描述了如何在Visual Studio 2017中配置和使用报告工具。
Visual Studio 2017默认情况下没有在ToolBox中安装ReportViewer
工具。 为Visual Studio安装扩展Microsoft Rdlc报表设计器 ,然后将其添加到ToolBox会导致在窗体下方显示一个非可视组件。
微软支持告诉我这是一个错误,但截至2017年4月21日,它“按设计工作”。
对于需要ReportViewer
每个项目,都需要遵循以下步骤。
- 如果您在工具箱中有
ReportViewer
,请将其删除。 突出显示,右键单击并删除。- 您必须有一个打开表单的项目才能执行此操作。
- 如果安装了Visual Studio扩展的Microsoft Rdlc报表设计器 ,请将其卸载。
- 关闭解决方案并重新启动Visual Studio。 这是一个至关重要的步骤,如果在解决方案之间切换时未重新启动VS,则会发生错误。
- 打开你的解决方案
- 打开NuGet包管理器控制台(
Tools/NuGet Package Manager/Package Manager Console
) -
在PM>提示符下输入此命令,大小写很重要。
Install-Package Microsoft.ReportingServices.ReportViewerControl.WinForms
您应该看到描述包安装的文本。
现在我们可以暂时将ReportViewer
工具添加到工具箱中。
-
在工具箱中单击鼠标右键,然后使用
Choose Items...
-
我们需要浏览到位于解决方案
Packages
文件夹中的正确DLL,因此点击浏览按钮。 -
在我们的示例中,我们可以粘贴在packages文件夹中,如Package Manager控制台的文本所示。
C:\Users\jdoe\Documents\Projects\_Test\ReportViewerTest\WindowsFormsApp1\packages
-
然后双击名为
Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80
的文件夹版本号可能在将来发生变化。
-
然后双击
lib
并再次在net40
。 -
最后,双击文件
Microsoft.ReportViewer.WinForms.dll
您应该在对话框中看到
ReportViewer
选中。 向右滚动,您将看到与之关联的版本14.0.0.0。 -
单击确定。
ReportViewer
现在位于ToolBox中。
-
将工具拖动到所需的表单。
-
完成后,从工具框中删除
ReportViewer
工具。 您不能将它与其他项目一起使用。 -
你可以保存项目并且很好。
当您需要使用ReportViewer
打开项目时,请记住重新启动Visual Studio,以便从正确的位置加载DLL。 如果您尝试使用带有ReportViewer
的表单打开解决方案而不重新启动,则会看到错误,指示“ The variable 'reportViewer1' is either undeclared or was never assigned.
“。
如果将新项目添加到需要创建项目的同一解决方案中,请保存解决方案,重新启动Visual Studio,然后您应该能够将ReportViewer
添加到表单中。 我看到它第一次不起作用,并显示为非可视组件。
当发生这种情况时,从表单中删除组件,从项目中删除Microsoft.ReportViewer.*
引用,保存和重新启动通常有效。
对我来说,它通过以下三个步骤工作:
- 将Visual Studio更新到最新版本。
- 通过以下方式将报告/报告向导 添加到“ 添加/新项目”菜单:
- 转到Visual Studio菜单工具/扩展和更新
- 从左侧面板中选择“ 在线 ”。
- 搜索Visual Studio的Microsoft Rdlc报表设计器
- 下载并安装它。
-
添加报表查看器控件:
-
去NuGet包管理器 。
-
安装Microsoft.ReportingServices.ReportViewerControl.Winforms
- 转到此文件夹: %USERPROFILE%.nuget \ packages \ microsoft.reportingservices.reportviewercontrol.winforms \ 140.1000.523 \ lib \ net40
- 拖动Microsoft.ReportViewer.WinForms.dll文件并将其放在Visual Studio Toolbox窗口中。
-
对于WebForms应用程序:
- 相同。
- 相同。
-
添加报表查看器控件:
-
去NuGet包管理器 。
-
安装Microsoft.ReportingServices.ReportViewerControl.WebForms
- 转到此文件夹: %USERPROFILE%.nuget \ packages \ microsoft.reportingservices.reportviewercontrol.webforms \ 140.1000.523 \ lib \ net40
- 拖动Microsoft.ReportViewer.WebForms.dll文件并将其放在Visual Studio Toolbox窗口中。
-
就这样!
请注意,每次启动其他项目时,都会重复上述@Rich Shealer描述的添加报告服务的过程。 为了避免这种情况:
-
如果您可能需要设置不同的计算机(例如,在家中没有互联网),那么请将您下载的安装程序从市场安全放置,即:
- Microsoft.DataTools.ReportingServices.vsix,和
- Microsoft.RdlcDesigner.vsix
-
从您使用报告服务创建的应用程序的packages或bin文件夹中获取以下库:
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.DataVisualization.dll
- Microsoft.ReportViewer.Design.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
- Microsoft.ReportViewer.WinForms.dll
-
从上面的1安装2个组件
- 添加上面2中的dll作为引用(Project> References> Add …)
- (可选)将“报告”选项卡添加到工具栏
- 将项目添加到报告选项卡
- 浏览到bin文件夹或您拥有上述dll的位置并添加它们
你现在好好去! ReportViewer图标将添加到工具栏中,当您想要向项目中添加新项目…(报告)时,您现在还可以找到添加到公共模板列表中的Report和ReportWizard模板
注意:使用Nuget包管理器进行设置时,Report和ReportWizard模板将分组在Reporting下。 但是,使用我上面描述的方法并不会在已安装的模板中添加报告分组,但我不认为它有任何问题,因为它使您能够在没有互联网的情况下快速集成rdlc,而无需每次都从Nuget下载已有的内容!