Microsoft report viewer 2012出现无法加载相关dll的解决办法
2014-02-22 00:39
429 查看
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 包,这是一种多么奇葩的存在哈。看看安装信息就知道了:
Microsoft report viewer 2012出现无法加载相关dll的解决办法_www.fengfly.com
老实的程序员可能就被忽悠着去各种折腾服务器打安装包补丁包了,但是哥怒了,到时还要往其他服务器迁移或者发布咋办呢?这不都得装,这不折腾程序员么?
本着程序员何必难为程序员的原则,折腾出解决方案如下:
事实上,只需要找到相关的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目录即可,报表就可以正常使用了,这样的话,即使迁移或者发布到其他服务器,也不需要安装任何文件了。
另外建议将这些文件纳入源代码管理。
如何找到本地的dll。
导出你的GAC Assembly中的DLLS
方法1:
CMD命令中,进入C:\windows\assembly,然后XCOPY GAC_MSIL c:\temp /E
这样就得到了dlls了,以命名空间来分类。
如果想将dlls从集合中分出来,使用XCOPY GAC c:\temp /E
方法2:
运行中输入:
C:\WINDOWS\ASSEMBLY\GAC_MSIL
即可打开GAC的正常展示目录
方法3:
Subst b: %windir%\assembly
执行完后,会发现硬盘分区多了个B盘,打开后看到了所有assembly下的DLL,于是在这里就搜到了Microsoft.ReportViewer.ProcessingObjectModel.dll,将其复制出来。
然后,这个虚拟的B分区不再需要,于是执行以下命令将其删除:
Subst b: /d
使用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 包,这是一种多么奇葩的存在哈。看看安装信息就知道了:
Microsoft report viewer 2012出现无法加载相关dll的解决办法_www.fengfly.com
老实的程序员可能就被忽悠着去各种折腾服务器打安装包补丁包了,但是哥怒了,到时还要往其他服务器迁移或者发布咋办呢?这不都得装,这不折腾程序员么?
本着程序员何必难为程序员的原则,折腾出解决方案如下:
事实上,只需要找到相关的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目录即可,报表就可以正常使用了,这样的话,即使迁移或者发布到其他服务器,也不需要安装任何文件了。
另外建议将这些文件纳入源代码管理。
如何找到本地的dll。
导出你的GAC Assembly中的DLLS
方法1:
CMD命令中,进入C:\windows\assembly,然后XCOPY GAC_MSIL c:\temp /E
这样就得到了dlls了,以命名空间来分类。
如果想将dlls从集合中分出来,使用XCOPY GAC c:\temp /E
方法2:
运行中输入:
C:\WINDOWS\ASSEMBLY\GAC_MSIL
即可打开GAC的正常展示目录
方法3:
Subst b: %windir%\assembly
执行完后,会发现硬盘分区多了个B盘,打开后看到了所有assembly下的DLL,于是在这里就搜到了Microsoft.ReportViewer.ProcessingObjectModel.dll,将其复制出来。
然后,这个虚拟的B分区不再需要,于是执行以下命令将其删除:
Subst b: /d
相关文章推荐
- c/c++ 有限状态机实现
- extern "C"的用处
- cocos2dx 使用getChildByName()获取不到元素问题
- hdu 1874 畅通工程续
- 2014.2.21 mac OS terminal 编译运行 C 和 java 程序的指令
- 用函数指针来提供统一的接口
- Netty源码解读(二)Netty中的buffer
- 质数表线性时间筛法
- Netty源码解读(一)概述
- win8.1rtm专业版无法安装net3.5还有iis
- Ubuntu Thinkpad E440 sdcard reader 驱动安装
- PHP之負載均衡下的session共用
- Http record java
- Centos 6.4 上源码安装 kamailio 4.1
- 宏和函数抽象能力比较
- hdu 2387 Til the Cows Come Home
- Ubuntu 学习笔记
- pat 1045
- office online新体验
- HDU - 1081 - To The Max