前些天临时给客户做个工具,统计具体时间点各种车型数据的数量及比重,为了显示方便就用C#来做,因为它有现成的reportviwer控件提供了显示,打印,导出功能。原本我以为这个控件是.netframework里的,做完后直接就发给客户了。但昨天客户打电话来说工具打不开,我一看系统日志,是一个未能加载microsoft.ReportViewer.Winforms库的错误,于是我就把项目中自动引用的Microsoft.ReportViewer.Winforms和Microsoft.ReportViewer.Common一并拷过去,软件是能正常打开了,但是在呈现报表是崩溃。

后来折腾了两个小时,终于搞明白了。ReportViewer不是.netframework提供了,而是visual studio提供的组件,它依赖如下组件:

  • Microsoft.ReportViewer.Winforms.dll
  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.DataVisualization.dll
  • Microsoft.SqlServer.Types.dll
  • Microsoft.ReportViewer.WinForms.resources.dll
  • Microsoft.ReportViewer.DataVisualization.resources.dll

只要将这些组件拷到exe目录就行了,去哪里获取呢?可以去微软官网下载reportviewer.exe安装,也可以在自己开发环境下手动找到这些库。下面介绍的是手动找的:

1、可在visual studio的目录/ReportViewer下找到Microsoft.ReportViewer.Winforms.dll和Microsoft.ReportViewer.WinForms.resources.dll,Microsoft.ReportViewer.WinForms.resources.dll是一个文本资源库,有许多语言版本,选择其中一个版本就行了,如zh-CHS.

2、其它的库可以在windows的库全局缓存目录(C:\Windows\assembly\GAC_MSIL)里找到,直接用资源管理器进去是不能拷贝的,需要用shell进去用cp指令拷贝.注意库的版本。

部署C# ReportViewer遇到的坑的更多相关文章

  1. weblogic中部署SSH项目遇到的坑

    总结将SSH项目部署到weblogic遇到的坑.项目中是SSH,另外还用到了webservice.quartz等框架.在tomcat部署是可以的,现在总结部署到weblogic遇到的坑. 在这里说一下 ...

  2. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  3. Mono+Jexus部署C# MVC的各种坑

    如果你看到这篇文章,先别急着动手,过完一遍,确定是你要的再动手. 别人提到的这里不赘述,只说查了好久才知道的. 1号坑:System.IO.FileNotFoundException Could no ...

  4. 部署openresty遇到的一些坑

    最近,遇到一个问题,就是我们CMS系统制作的产品页面和产品列表页面,发布到nginx服务器上,因为业务要求,客户看到的链接必须是短链接,当前的做法就是在nginx的配置中通过rewrite的方式做的. ...

  5. 那些在BAE上部署node.js碰到的坑

    在BAE上使用node.js半年多了,其中碰到了不少因为BAE云环境限制碰到的坑 写下来大家碰到了,也不用那么麻烦的去看好几天代码了,直接对症下药 官方公布的坑有: BAE是使用package.jso ...

  6. Linux下部署MySQL,大小写敏感踩坑记录

    今天在将开发环境中的门户数据库复制到新环境后,使用SqlSugar的ORM框架进行数据库操作的时候,出现了主键找不到的现象.排查了很久终于发现了关键点.特此记录. 1.开发环境:    操作系统:CE ...

  7. 记录一次使用iisnode部署node项目遇到的坑!

    前言:最近因为项目原因,需要在IIS下部署node项目,在此之前,曾经部署过类似的项目,因此在这次部署还算比较顺利,只是在其中遇到了几个比较坑的问题,所以这次使用博客记录下来,如有园友遇到过类似问题, ...

  8. OpenResty + Lua + Kafka 实现日志收集系统以及部署过程中遇到的坑

    ********************* 部署过程 ************************** 一:场景描述 对于线上大流量服务或者需要上报日志的nginx服务,每天会产生大量的日志,这些 ...

  9. kubernetes 1.5.2 部署kube-dns 踩过的坑

    看了kubernetes 权威指南 遇见了dns这一块.于是便按照书上的方式部署了一下. 书上使用的方式是:kube2sky+etcd+skydns的方式.按照书上的yaml写了一遍,发现无论如何都无 ...

随机推荐

  1. Linux中Qt的安装

    1.下载Ot安装包 Qt5.30的下载地址如下,在网页中打开找到需要的资源,下载.run格式的安装软件. http://download.qt.io/archive/qt/5.3/5.3.0/qt-o ...

  2. Uninstalling JIRA applications from Linux

     If you wish to re-install JIRA in 'unattended mode', do not uninstall your previous installation of ...

  3. cl.exe 命令行编译sqlite3 sqlite3.dll及sqlite3.exe

    有点被宇宙最强的ide惯坏了,封装的太好,不能像gcc那样一步步了解其原理,其实强大的vs背后也有类似gcc的cl.exe 看到How To Compile SQLite http://sqlite. ...

  4. RocEDU.阅读.写作《霍乱时期的爱情》书摘(二)

    她不会流一滴眼泪,不会浪费自己的余生,在慢火煮炖的回忆的蛆肉汤中煎熬,不会把自己活活埋葬在四面墙壁之间,成日为自己缝制寿衣,尽管这是当地人乐见寡妇做的事情. 活到这把年纪,人还在的时候就已经腐烂一半了 ...

  5. 20145231熊梓宏 《网络对抗》 实验9 Web安全基础实践

    20145231熊梓宏 <网络对抗> 实验9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? •SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面 ...

  6. CSS 属性的推荐书写顺序

  7. (转)C#调用C函数(DLL)传递参数问题

    备忘: 1.C函数参数为字符串char*.如果是入参,对应C#中string或StringBuilder:如果是出参对应C#中StringBuider: 2.C函数参数为结构体指针,需在C#中对应定义 ...

  8. [转载]Javassist 使用指南(三)

    ======================= 本文转载自简书,感谢原作者!. 原链接如下:https://www.jianshu.com/p/7803ffcc81c8 =============== ...

  9. struts1.2上传多个文件

    页面:                     <input type="file" name="impFile[0]"  style="wid ...

  10. Spring @Scheduler使用cron时的执行问题

    主要想弄清使用Spring @Scheduler cron表达式时的两个问题: 同一定时任务,第二次触发时间到了,第一次还没有执行完成时会执行吗? 不同的定时任务,相互之间是否有影响? 结论写在前面: ...