RDLC使用手册_RDLC报表部署
原文:http://blog.csdn.net/lwjnumber/article/details/6590545
9、 RDLC报表部署(限于rdlc报表 windows应用程序)
1) RDLC报表所需的4个DLL文件提取
RDLC报表文件部署在客户端若要正常工作,需4个dll文件,分别是:Microsoft.ReportViewer.Common.dll、Microsoft.ReportViewer.ProcessingObjectModel.dll、Microsoft.ReportViewer.WebForms.dll和Microsoft.ReportViewer.WinForms.dll。通常情况,只要开发人员引用了RDLC报表相关组件,程序编译之后就应该有除Microsoft.ReportViewer.ProcessingObjectModel.dll之外的3个Dll文件。
因此,开发人员只要找到并提取Microsoft.ReportViewer.ProcessingObjectModel.dll文件,然后将该文件连同其它3个DLL文件部署到目标机器上即可。
·Vs安装目录+/SDK/v2.0/BootStrapper/Packages/ReportViewer,找到ReportViewer.exe文件,并解压;
·在解压目录里找到ReportV1.cab包,并解压到ReportV1目录;
·将文件FL_Microsoft_ReportViewer_ProcessingObject_125592_____X86.3643236F_FC70_11D3_A536_0090278A1BB8的文件名修改为Microsoft.ReportViewer.ProcessingObjectModel.dll即可。其实大家可以发现ReportV1.cab包里的4个文件即为我上文中提到的4个dll文件。
2) 将编译后的报表应用程序打包部署到目标机器即可。
3) 如果是win98操作系统的话,首先要安装.Net可发行组件(先把IE升级到5.01版本及以上,安装windows installer2.0以上),目前在win98操作系统下运行RDLC报表程序有个问题(只支持Remote处理模式)。
4) 引用Microsoft.SqlServer.Types.dll
Path = C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.Types.dll
Runtime Version = v2.0.50727
Version = 11.0.0.0
遇到的场景:在使用rdlc参数的时候报错
另附文章:
提取RDLC reporting相关dll的方式,打包客户端时需要用
http://www.tuicool.com/articles/Jn2amiQ
这三个dll可以使用以下的指令的方式取得
在windows的命令窗口输入 Subst x: %windir%\assembly
执行完后会在我的计算机中出现一个x的磁盘,在X:\GAC_MSIL目录下可找到对应文件的文件夹,进入找到对应的版本即可,把需要的dll版本copy出来
copy完后,在windows的命令窗口输 Subst x: /d,这样可以把x磁盘拿掉了
之后部署到web上时,记得要把这三个dll也同时放到bin目录中,就可以执行reportviewr了
安装vs2017后,RDLC 报表定义具有无法升级的无效目标命名空间
原先的RDLC报表定义用的命名空间是2008,用vs2017报表设计器重新保存后,会自动升级成2016,导致无法使用。
不想升级控件,太麻烦,所以就手动修改RDLC文件吧。
1、修改http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition,将2016改成2008
2、将BODY的父节点<ReportSections><ReportSection>...</ReportSection></ReportSections>删除
3、删除<ReportParametersLayout>整个节点
其它的看具体出错信息再处理吧。
报表定义具有无法升级的无效目标命名空间“http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition”
nuget安装(当前支持140 150版本)
Microsoft.ReportingServices.ReportViewerControl.WebForms
Microsoft.ReportingServices.ReportViewerControl.WinForms
注意点:保证几个dll的版本一致