安装 Crystal Report 9.2 后产生的问题及解决方案

原创 2003年11月09日 23:15:00

目录:
一、引言
二、概念与原理
三、问题
1、编译器错误信息: </b>BC30560: “CrystalReportViewer”在命名空间“CrystalDecisions.Web”中不明确。
2、复制 Crystal Report Viewer 时,显示“控件创建错误”。
3、创建 Crystal Report Viewer 时,显示“控件创建错误”。
4、分析器错误信息: 基类包括字段“CrystalReportViewer1”,但其类型 (CrystalDecisions.Web.CrystalReportViewer) 与控件 (CrystalDecisions.Web.CrystalReportViewer) 的类型不兼容。
5、分析器错误信息: 找到的名为“CrystalDecisions.Shared”的程序集清单定义与程序集引用不匹配。
6、问题:无效的报表源
7、如果你用的是 VS.NET 2003……
8、问题:在 web.config 中新建一个工程时没有<assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
我手工添加后出现配置错误!!!
-------------------------------------------------------------------------
一、引言
在.NET 里,DLL Hell 问题被解决——包含元数据的,具有自描述性的程序集及其 XCopy 部署!
但是,又似乎带来了新的问题——.NET 程序升级、迁移问题……
升级不再只是简单安装,有工作不得不做了……
-------------------------------------------------------------------------
二、概念与原理
1、各种 Crystal Reports 程序的“程序集版本”……
Crystal Reports for Visual Studio .NET 2002
Crystal Reports 管理组件的“程序集版本”为 9.1.3300。

Crystal Reports for Visual Studio .NET 2003 的程序
Crystal Reports 管理组件的“程序集版本”为 9.1.5000.0。

Crystal Reports 9 的程序(仅限于 Visual Studio 2002)
Crystal Reports 管理组件的“文件版本”为 9.2.9466.x。

Crystal Reports 9.2 的程序(与 Visual Studio 2002 和 2003)
Crystal Reports 管理组件的“文件版本”为 9.2.9500.x。
------------------------------------------------
2、Crystal Report Viewer
VS.NET 里的 Crystal Report Viewer 版本是 9.1.3300.0,
Crystal Report 9.2 里的 Crystal Report Viewer 版本是 9.2.3300.0
为窗体添加 Crystal Report Viewer 后,会在 aspx 文件里增加以下代码,缺一不可。
代码(1)<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
是为了引入命名空间 CrystalDecisions.Web。
代码(2)<CR:CrystalReportViewer id="CrystalReportViewer1" runat="server" EnableDrillDown="False" DisplayGroupTree="False" Height="50px" Width="350px"></CR:CrystalReportViewer>
是表示 CrystalReportViewer 控件的标签。
-------------------------------------------------------------------------
三、问题
1、编译器错误信息: </b>BC30560: “CrystalReportViewer”在命名空间“CrystalDecisions.Web”中不明确。
-------------------------
问题分析:
在“设计视图”删除 Crystal Report Viewer 后,代码(1)仍然存在,如果此时再次添加新版本的 Crystal Report Viewer,会导致出现两个不同的代码(1):
<%@ Register TagPrefix="cr1" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
<%@ Page language="vb" Codebehind="Analysis.aspx.vb" AutoEventWireup="false" Inherits="Research_VB.Analysis" %>
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
-------------------------
解决方案:
把 Crystal Report Viewer 和所有代码(1)删除,重新添加 Crystal Report Viewer。
------------------------------------------------
2、复制 Crystal Report Viewer 时,显示“控件创建错误”。
-------------------------
问题分析:
复制 Crystal Report Viewer 时,代码(1)不会被复制。
-------------------------
解决方案:
手工复制代码(1)。
------------------------------------------------
3、创建 Crystal Report Viewer 时,显示“控件创建错误”。
-------------------------
问题分析:
如果不是残存代码(1),就是匪夷所思……
-------------------------
解决方案:
(1)先在“设计视图”删除 Crystal Report Viewer 控件;
(2)再到“HTML 视图”删除代码(1)
(3)创建 Crystal Report Viewer ;
如果显示“控件创建错误”,则切换到“HTML”视图,再切换会“设计”视图,自动恢复!!!
------------------------------------------------
4、分析器错误信息: 基类包括字段“CrystalReportViewer1”,但其类型 (CrystalDecisions.Web.CrystalReportViewer) 与控件 (CrystalDecisions.Web.CrystalReportViewer) 的类型不兼容。
-------------------------
问题分析:
代码(1)不是当前 Crystal Report Viewer 的版本
-------------------------
解决方案:
把 Crystal Report Viewer 和所有代码(1)删除,重新添加 Crystal Report Viewer。
------------------------------------------------
5、分析器错误信息: 找到的名为“CrystalDecisions.Shared”的程序集清单定义与程序集引用不匹配。
源文件: E:/web/VenditionSystem/web.config    行: 15
程序集加载跟踪: 下列信息有助于确定程序集“CrystalDecisions.Shared”无法加载的原因。
-------------------------
问题分析:
程序集 CrystalDecisions.Shared 在 web.config 里的程序集清单定义是 CR FOR VS.NET 版本的,而项目中引用的是 CR 9.X 版本的……
-------------------------
解决方案一:
新建一个解决方案,在窗体里添加 Crystal Report Viewer,会自动在 web.config 中生成新版本的程序集清单定义,然后把这个 web.config 复制过来……
解决方案二:
修改 web.config 里的旧版本的程序集清单定义:
<add assembly="CrystalDecisions.Shared, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
把 Version=9.1.3300.0 改成 Version=9.2.3300.0。
-------------------------
总结:其它 CrystalDecisions 程序集引用的冲突问题如:CrystalDecisions.CrystalReports.Engine,解决方案同上。
------------------------------------------------
6、问题:无效的报表源
-------------------------
问题分析:
ReportDocument、CrystalReportViewer 组件和 CrystalDecisions 程序集的版本不一致:
-------------------------
解决方案:
(1)删除所有的 CrystalDecisions 程序集引用;
(2)删除所有的ReportDocument、CrystalReportViewer 组件;
(3)按照2、修改 Visual Studio.NET 的工具箱设置;
(4)重新添加组件,自动生成新引用。
------------------------------------------------
7、如果你用的是 VS.NET 2003……
问题:就是不行。 升级后没有拖放控件没有代码(1)!!!
问题分析:
如果你用的是 VS.NET 2003,则 Crystal Reports 9 (版本 9.2.0.x) 不能正确运行,需要升级到 CR 9 (版本 9.2.2.x). 
具体问题如下:
- 添加新报表到项目,却没有生成相应的报表类文件
- 添加新报表或者报表查看器(viewer)到项目,却没有自动添加必需的引用
- 不能创建强类型报表(strongly-typed report)的实例
解决方案:
升级到 CR 9 (版本 9.2.2.x). 
------------------------------------------------
8、问题:在 web.config 中新建一个工程时没有<assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
我手工添加后出现配置错误!!!
解决方案:
新建一个解决方案,添加 Crystal Report 文件和 Crystal Report Viewer,然后用它的 Web.config 覆盖原来的程序……

原创Crystal Reports 9水晶报表注册机发布

  • 2006年02月23日 09:05
  • 187KB
  • 下载

Crystal reports 9 的使用示例(一)

******************************************************************crystal report 的使用示例*适用版本:9.0*制作人:...
  • myhgyp
  • myhgyp
  • 2005年01月13日 19:43
  • 3965

Crystal Reports 9.2 中文版(水晶报表)

  • 2006年02月23日 09:05
  • 205KB
  • 下载

Crystal Reports9.0

  • 2008年02月15日 16:35
  • 7.82MB
  • 下载

CrystalReport.9使用詳解

  • 2009年03月19日 15:43
  • 3.68MB
  • 下载

将水晶报表移植到另一个项目时遇到的问题的解决办法

如题: 基类包括字段“CrystalReportViewer1”,但其类型(CrystalDecisions.Web.CrystalReportViewer)与控件(CrystalDecisions...
  • zhzhi2008
  • zhzhi2008
  • 2012年08月18日 18:15
  • 804

【.Net】安装新版本CrystalReports 老程序出现未能加载文件或程序集“CrystalDecisions.CrystalReports.Engine, Version=10.5.37

VS2013水晶报表 最近换了VS2013,然后打开以前的项目时出现:未能加载文件或程序集“CrystalDecisions.CrystalReports.Engine, Version=10.5....
  • CrackLibby
  • CrackLibby
  • 2015年04月20日 23:55
  • 7454

Eclipse 操作 Crystal Report 笔记

关于Eclipse 操作 Crystal Reporte笔记
  • u011910756
  • u011910756
  • 2014年06月16日 15:20
  • 2674

[老贴]Crystal Report 学习笔记(1)

  学习资料:《用实例学 Crystal Report for Visual Studio.Net》章立民著1,  Crystal Report for vs.net以Crystal Report...
  • phinecos
  • phinecos
  • 2006年08月13日 14:02
  • 835

彻底解决 CrystalReports 登录失败问题

目录:一、Crystal Reports 9 最新补丁下载(搜集:海波.NET)二、原因1:文件夹 NTFS 权限的问题。三、原因2:PULL 模式,水晶报表中的数据库登录问题(非 Windows 集...
  • haibodotnet
  • haibodotnet
  • 2003年11月09日 23:15
  • 12809
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安装 Crystal Report 9.2 后产生的问题及解决方案
举报原因:
原因补充:

(最多只允许输入30个字)