做一下记录顺便帮助一下遇到问题的朋友。
做RDLC报表在WinForm运行,在VS里面调试引用了
“Microsoft.ReportViewer.Common.dll”和“Microsoft.ReportViewer.WinForms.dll”
调试运行的时候没有问题。
之后我直接把Bin文件夹下的Debug目录拷到别的机器上运行,打印的时候出现了“未能加载文件或程序集 "microsoft.reportviewer.winforms”的错误。
这是貌似因为在调试运行的时候Bin目录的引用的DLL是本地路径下的,没有打包成安装程序在程序目录下没有这两个DLL,于是把这两个DLL文件拷贝到程序运行目录下重新在引用。
紧接着又蹦出了一个如下错误,这个问题测试了一下如果在运行软件的目标机器上 安装了 ReportViewer就不会有这个问题了,可是又不能在每个客户机上都安装一遍ReportViewer。
解决这个问题:
1、可以把ReportViewer.exe文件解压出来。(ReportViewer.exe 官网下载链接)
2、找到里面的扩展名为“cab”的文件,继续解压。
3、找到扩展名为“cab”文件解压后目录里的 FL_Microsoft_ReportViewer_ProcessingObject_125592_125592_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
4、把这个文件拷贝出来更改名称为 Microsoft.ReportViewer.ProcessingObjectModel.dll。
最后把这个DLL文件放入Bin文件目录下在到VS里面引用一下。OK问题解决了!