MICROSOFT REPORT VIEWER 2012之无法加载相关的dll

使用VS 2012开发报表, 如果是使用的微软的报表控件的话,默认是使用的MICROSOFT REPORT VIEWER 2012,本地开发基本上没问题,但是一发布服务器,就会发现坑了,微软挖坑从来就不打招呼,坑你没商量。

之前使用Report Viewer,只要看到类似“Could not load file or assembly xxx”之类的只要去微软下载中心下载相应的MICROSOFT REPORT VIEWER XX RUNTIME就行了,2012就屌爆了,先提供下载链接如下:

http://www.microsoft.com/zh-cn/download/details.aspx?id=35747

装的时候会提示你还需.NET Framework 4.0 SQL Server System CLR Types 包,这是一种多么奇葩的存在哈。看看安装信息就知道了:

image

    老实的程序员可能就被忽悠着去各种折腾服务器打安装包补丁包了,但是哥怒了,到时还要往其他服务器迁移或者发布咋办呢?这不都得装,这不折腾程序员么?
    本着程序员何必难为程序员的原则,折腾出解决方案如下:

事实上,只需要找到相关的dll就行,那么你需要找到以下dll:

Microsoft.ReportViewer.WebForms.dll(VS安装目录下的ReportViewer目录,如D:\Program Files (x86)\Microsoft Visual Studio 11.0\ReportViewer,你可以从项目引用的这个dll的属性中找到路径)

zh-CHS目录(简体中文语言包,如果你需要别的语言,那么复制其他的,VS安装目录下的ReportViewer目录,如D:\Program Files (x86)\Microsoft Visual Studio 11.0\ReportViewer)

Microsoft.ReportViewer.Common.dll(GAC,注意版本号为11.0.0.0)

Microsoft.ReportViewer.ProcessingObjectModel.DLL(GAC,注意版本号为11.0.0.0)

Microsoft.SqlServer.Types.dll(GAC,注意版本号为11.0.0.0)

 

如果你不知道如何从GAC中导出DLL文件,那么可以看看这篇文章:

导出你的GAC Assembly中的DLLS

获取到上述文件后,将其放到网站的bin目录即可,报表就可以正常使用了,这样的话,即使迁移或者发布到其他服务器,也不需要安装任何文件了。

另外建议将这些文件纳入源代码管理。

posted @   雪雁  阅读(1673)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示