在开发winform客户端软件时,使用rdlc进行报表生成并通过reportviewer展示报表时,开发者的机器上运行正常,但部署到第三方机器上时可能会遇到以下几种错误:
(1)未能加载文件或程序集“Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。文件名:“Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”。
(2)RDLC的部署问题(无法找到Microsoft.ReportViewer.ProcessingObjectModel.dll文件)。
(3)找不到Microsoft.SqlServer.Types.dll或其他依赖项。
这些错误提示表明第三方机器上缺少必要的dll文件。要解决这些问题,可以从开发者的机器上找到相应的dll文件,并将其复制到客户端的程序启动目录下(通常是项目的binDebug目录下)。由于这些dll文件位于开发者机器的Windowsssembly目录中,而该目录是微软操作系统预定义的特殊目录,无法直接操作其中的文件,只能通过命令行来处理。
要复制这些文件,请启动cmd.exe程序,并在窗口中输入以下命令,每次输入一个命令,回车后即可复制成功:
【其他dll文件的复制方式与此类似】
将这些文件复制到D盘的ReportViewer目录后,再将其复制到项目的binDebug目录中。完成这些步骤后,再次运行程序,一切应该都能正常运行。