1.首先下载Crystal Reports13对于Visual Studio 2015支持的2个文件。redis
CRforVS_13_0_17服务器
CRforVS_redist_install_64bit_13_0_17工具
若是你使用的是其它版本的Visual Studio,请查看官方给出的文档,下载相应的版本,具体请参考次地址:http://scn.sap.com/docs/DOC-7824网站
注意:版本号后边的13_0_17为小版本号,下载时2个文件的小版本号要相同。spa
2.重启VS,在项目上新建项,此时多了一个Repoting的项目模板,模板里边包含一个Crystal Report的选项,选中便可建立报表模板的.rpt文件。
orm
3.在使用水晶报表的网站项目上,添加以下4个引用,引用在项目的Nuget包管理里边进行搜索。utf-8
CrystalDecisions.CrystalReports.Engineci
CrystalDecisions.ReportSource开发
CrystalDecisions.Shared文档
CrystalDecisions.Web
若是你的项目是C/S的程序,也能够引用CrystalDecisions.Windows.Forms来替换CrystalDecisions.Web
4.打开电脑的以下文件夹:C:\inetpub\wwwroot,在文件里边找到一个 aspnet_client,文件夹,将此文件夹拷贝到网站项目的根目录。
这个文件夹里边的文件,是水晶报表打印页面的所需UI样式文件,若是不拷贝这个文件夹,打印页面看不到任何东西,包括水晶报表打印的工具栏。
以上4步完成后,便可调用模板文件进行打印了!
服务器部署:
首先在服务器上安装CrystalReports的运行时,我安装的版本是CRforVS_redist_install_32bit_13_0_17,这个地方最好是下载32位的版本,我原来安装的64位版本就出现了问题2的错误,网站正常部署就能够,把IIS网站的应用程序池,高级设置选项里边的启用32位应程序选项设置为true,还有就是把报表的rpt文件拷贝服务器,由于发布的时候这个文件不能发布出来,不然也会报错!
如下是开发完成后再服务器部署时遇到的一些问题:
问题1.未能加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。
问题是我也没用到log4net啊,按照网上的方法把你开发机器上的C:\Windows\assembly\GAC_32\log4net\1.2.10.0__692fbea5521e1304\log4net.dll,这个dll拷贝到服务器网站bin的文件夹便可,不要从其途径引用log4net.dll文件,我试了即便是相同版本的也不行。
问题2.尝试加载 Crystal Reports 运行时时出错。多是由于 Crystal Reports 注册表项权限不足,或未正确安装 Crystal Reports 运行时。请安装包含所需的正确 Crystal Reports 运行时版本(x8六、x64 或 Itanium)的相应 Crystal Reports 再分发文件(CRRedist*.msi)。有关更多信息,请访问 http://www.businessobjects.com/support。
这个问题我花了好长的时间,缘由是由于Crystal Reports得运行时版本必需要安装32位的,我原来安装的是CRforVS_redist_install_64bit_13_0_17,换成CRforVS_redist_install_32bit_13_0_17就能够显示报表的控件了,若是仍是很差用就把IIS网站的应用程序池,高级设置选项里边的启用32位应程序选项设置为true
问题3.不支持的操做。没法在 C++ 堆栈中打开由 JRC 引擎处理的文档
这个问题是由于,没有找到报表文件,在发布网站的时候,VS忽略.rpt这种格式文件的发布,全部须要你手动把报表文件,或者包含报表文件的文件夹放到网站相应位置!