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。到程序开发计算机下找到对应的烤到客户端的程序启动目录下即可(项目烤到Bin\\Debug目录下)。由于以上的dll都是在开发者机器的Windows\assembly目录中,
该目录是微软操作系统预定义的特殊目录,无法直接操作里面的文件,只能通过命令来处理。
启动cmd.exe程序,在窗口中输入以下命令行,每次输入一个命令,回车后复制成功。
copy C:\Windows\assembly\gac_msil\Microsoft.ReportViewer.Common\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.Common.dll D:\ReportViewer
copy C:\Windows\assembly\gac_msil\Microsoft.ReportViewer.WinForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WinForms.DLL D:\ReportViewer
copy C:\Windows\assembly\gac_msil\Microsoft.ReportViewer.ProcessingObjectModel\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.ProcessingObjectModel.DLL D:\ReportViewer
copy C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SqlServer.Types\11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Types.dll D:\ReportViewer
【其他的dll复制方式与此类似】
复制到D盘ReportViewer目录后,将其复制到项目的bin\Debug目录,再次运行程序,一切正常。
成在管理,败在经验;嬴在选择,输在不学! 贵在坚持!
个人作品
1、BIMFace.Community.SDK.NET
开源地址:https://gitee.com/NAlps/BIMFace.SDK
2、ZCN.NET.Common
开源地址:https://gitee.com/NAlps/zcn.net.common
技术栈
1、Visual Studio、.C#/.NET、.NET Core、MVC、Web API、RESTful API、gRPC、SignalR、Python
2、jQuery、Vue.js、Bootstrap
3、数据库:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、Redis、MongoDB、ElasticSearch、TiDB、达梦DM、人大金仓、 神通、南大通用 GBase、华为 GaussDB 、腾讯 TDSQL 、阿里 PolarDB、蚂蚁金服 OceanBase、东软 OpenBASE、浪潮云溪数据库 ZNBase
4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分库分表、读写分离
5、架构:领域驱动设计 DDD、ABP
6、环境:跨平台、Windows、Linux(CentOS、麒麟、统信UOS、深度Linux)、maxOS、IIS、Nginx、Apach
7、移动App:Android、IOS、HarmonyOS、微信、小程序、快应用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、Smobiler
云原生、微服务、Docker、CI/CD、DevOps、K8S;
Dapr、RabbitMQ、Kafka、分布式、大数据、高并发、负载均衡、中间件、RPC、ELK;
.NET + Docker + jenkins + Github + Harbor + K8S;
作者:张传宁 微软MCP、系统架构设计师、系统集成项目管理工程师、科技部创新工程师。
专注于微软.NET技术(.NET Core、Web、MVC、WinForm、WPF)、通用权限管理系统、工作流引擎、自动化项目(代码)生成器、SOA 、DDD、 云原生(Docker、微服务、DevOps、CI/CD);PDF、CAD、BIM 审图等研究与应用。
多次参与电子政务、图书教育、生产制造等企业级大型项目研发与管理工作。
熟悉中小企业软件开发过程:需求分析、架构设计、编码测试、实施部署、项目管理。通过技术与管理帮助中小企业快速化实现互联网技术全流程解决方案。
本文版权归作者有,欢迎转载,但未经作者同意必须保留此段声明,否则保留追究法律责任的权利。