使用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 包,这是一种多么奇葩的存在哈。看看安装信息就知道了:

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

事实上,只需要找到相关的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目录即可,报表就可以正常使用了,这样的话,即使迁移或者发布到其他服务器,也不需要安装任何文件了。

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

MICROSOFT REPORT VIEWER 2012之无法加载相关的dll的更多相关文章

  1. warning MSB3162: 所选的“Microsoft Report Viewer 2012 Runtime”项需要“Microsoft.SqlServer.SQLSysClrTypes.11.0”。在“系统必备”对话框中选择缺少的系统必备组件,或者为缺少的系统必备组件创建引导程序包。

    warning MSB3162: 所选的“Microsoft Report Viewer 2012 Runtime”项需要“Microsoft.SqlServer.SQLSysClrTypes.11. ...

  2. Entity Framework加载相关实体——延迟加载Lazy Loading、贪婪加载Eager Loading、显示加载Explicit Loading

    Entity Framework提供了三种加载相关实体的方法:Lazy Loading,Eager Loading和Explicit Loading.首先我们先来看一下MSDN对三种加载实体方法的定义 ...

  3. 其原因可能是堆被损坏,这说明**.exe中或它加载的任何DLL中有Bug

    最近在写一个写日志文件的线程时,调用了HeapAlloc/HeapFree 申请/释放堆缓冲内存.调用HeapFree释放有个条件就是,日志的空闲缓冲队列中内存块超过100个.在测试的时候,发现调用H ...

  4. struts2是如何加载相关的package元素节点信息的

    这不是一篇纯技术文章,而是一篇分享我个人在前后端分离路上收获的点点滴滴的文章,以此来为准备尝试前后端分离或者想了解前后端分离的童鞋做一个大体的讲解. 上一家公司是家小公司,做了一年的全栈开发,对前端的 ...

  5. C#中动态加载和卸载DLL

    在C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载.在C#中我们也能使用Assembly.LoadFile实 ...

  6. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)1----C#中动态加载和卸载DLL

    我们知道在C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载. 在C#中我们也能使用Assembly.Load ...

  7. [翻译][MVC 5 + EF 6] 7:加载相关数据

    原文:Reading Related Data with the Entity Framework in an ASP.NET MVC Application 1.延迟(Lazy)加载.预先(Eage ...

  8. 动态加载EXE和DLL

    程序中加载了一个DLL文件,但生成的EXE在脱离了DLL文件后仍然可以 单独使用,这是动态加载DLL技术.即:调用资源中的DLL. 此技术的好处:EXE可以使用DLL中的函数,但不会额外增加一 个DL ...

  9. Volley 图片加载相关源码解析

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/47721631: 本文出自:[张鸿洋的博客] 一 概述 最近在完善图片加载方面的 ...

随机推荐

  1. ☀【canvas】直线 / 三角形 / 矩形 / 曲线 / 控制点 / 变换

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  2. 新Azure 服务仪表盘!

    通过仪表盘, 我们可以查看当前状态和历史记录: http://www.windowsazure.cn/support/service-dashboard/

  3. winform代码反编译后图片等资源文件恢复解决方案

    用Reflector工具反编译的winform代码,图片等资源文件不能很好的反编译成功. 这里有一个笨的解决方案.首先我们要了解图片资源当初加入到工程的几种方式,及他们所在的位置. 一般winform ...

  4. ManagerDay-1

    初做管理,没有任何管理经验的我,有点紧张,在来公司之前,脑子里一直在想能不能胜任这份工作. 想着能否做出合格的流程图,像样的需规.我该如何和组内开发人员打好交道.报价预算该如何做,这些都交织在脑内显得 ...

  5. HDOJ/HDU 1328 IBM Minus One(水题一个,试试手)

    Problem Description You may have heard of the book '2001 - A Space Odyssey' by Arthur C. Clarke, or ...

  6. [SDJX2015]面积

    [问题描述:] 一个六边形的每个内角均为120°,按顺时针给定它每条边的长度,求它的面积与边长为1的等边三角形的面积的比值. [输入:] 一行六个整数a,b,c,d,e,f,表示六条边的长度. [输出 ...

  7. Bzoj 3339: Rmq Problem && Bzoj 3585: mex 莫队,树状数组,二分

    3339: Rmq Problem Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 833  Solved: 397[Submit][Status][D ...

  8. (转)Spring整合Redis作为缓存

           采用Redis作为Web系统的缓存.用Spring的Cache整合Redis. 一.关于redis的相关xml文件的写法 <?xml version="1.0" ...

  9. rsync学习与实践

    1.介绍:开源的.快速的.多功能的可以实现全量和增量备份的工具:还能实现文件的删除等:可以根据文件大小的变化和修改时间的变化来同步数据(快速) 2.描述:支持特殊文件的拷贝,例如设备文件,链接等:可以 ...

  10. 在LAMP环境下搭建JSP动态网页

    开发环境Linux的版本号Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x ...