作一下记录顺便帮助一下遇到问题的朋友。测试
作RDLC报表在WinForm运行,在VS里面调试引用了“Microsoft.ReportViewer.Common.dll”和“Microsoft.ReportViewer.WinForms.dll”调试运行的时候没有问题。spa
以后我直接把Bin文件夹下的Debug目录拷到别的机器上运行,打印的时候出现了“未能加载文件或程序集microsoft.reportviewer.winforms”的错误。这是貌似由于在调试调试
运行的时候Bin目录的引用的DLL是本地路径下的,没有打包成安装程序在程序目录下没有这两个DLL,因而把这两个DLL文件拷贝到程序运行目录下从新在引用。紧接着又蹦出orm
了一个错误。具体的忘记了,大概是 on print Processing 什么的错误,这个问题测试了一下若是在运行软件的目标机器上 安装了 ReportViewer就不会有这个问题了,但是又form
不能在每一个客户机上都安装一遍ReportViewer。扩展
解决这个问题:打包
一、能够把ReportViewer.exe文件解压出来。软件
二、找到里面的扩展名为“cab”的文件,继续解压。引用
三、找到扩展名为“cab”文件解压后目录里的“FL_Microsoft_ReportViewer_ProcessingObject_125592_125592_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8”。bug
四、把这个文件拷贝出来更更名称为“Microsoft.ReportViewer.ProcessingObjectModel.dll”。
最后把这个DLL文件放入Bin文件目录下在到VS里面引用一下。OK问题解决了!