报告适用于开发PC,但在部署它的PC上抛出异常(CrystalDecisions.CrystalReports.Engine.ReportDocument)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报告适用于开发PC,但在部署它的PC上抛出异常(CrystalDecisions.CrystalReports.Engine.ReportDocument)相关的知识,希望对你有一定的参考价值。
我使用Crystal Reports开发了一个应用程序,当我在开发PC上测试它的项目时,它在客户PC上提供了一个例外
“CrystalDecisions.CrystalReports.Engine.ReportDocument”的类型初始值设定项引发了异常。
该项目是使用VS 2010开发的,然后用VS 2008完成,所以我现在正在使用VS 2008进行开发,我不确定这是否会导致问题,关于安装项目我引用了以下DLL:
-CrystalDecisions.CrystalReports.Engine.dll
-CrystalDecisions.ReportSource.dll
-CrystalDecisions.Shared.dll
-CrystalDecisions.Web.dll
-CrystalDecisions.Windows.Forms.dll
所有DLL都具有相同的版本号:10.2.3600.0
然后我安装设置而不安装任何其他的.net Framework 3.5,(我是否必须安装运行时Crystal Report引擎,如果必须安装哪个版本?)。
例外细节:
System.TypeInitializationException:'CrystalDecisions.CrystalReports.Engine.ReportDocument'的类型初始值设定项引发了异常。 ---> System.IO.FileNotFoundException:无法加载文件或程序集“CrystalDecisions.ReportAppServer.CommLayer,Version = 10.2.3600.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304”或其依赖项之一。该系统找不到指定的文件。文件名:CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()中的'CrystalDecisions.ReportAppServer.CommLayer,Version = 10.2.3600.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304'
警告:装配绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值[HKLM Software Microsoft Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定失败日志记录会导致一些性能损失。要关闭此功能,请删除注册表值[HKLM Software Microsoft Fusion!EnableLog]。
在此先感谢任何帮助。
在客户端的计算机上,您需要为您的版本安装Crystal Runtime。通常,如果您使用的是VS2008,则需要为.NET Framework安装Crystal Reports 2008 Runtime Package(推荐),或者将Crystal Reports 2008 Runtime的合并模块嵌入到您自己的设置中(不推荐)。从这里:http://resources.businessobjects.com/support/additional_downloads/runtime.asp#08这将安装客户端所需的Crystal Report程序集。你有没有这样做过?
如果之后仍然有问题,则需要验证Crystal。*。dll的版本是否与客户端计算机上安装的版本相同。
如果要在这些程序集的属性上使用特定版本的水晶组件,请在VS中的“属性”中将“特定版本”更改为“True”
最后,检查是否缺少Crystal SP / HotFix,这使得程序集版本与http://wiki.sdn.sap.com/wiki/display/BOBJ/Crystal+Reports+2008+-+Version+and+Download+information+for+SPs+and+FPs不同
运行时Crystal Report将调用该DLL来创建报告。
这就是发生在我身上的事情,我在胜利10 - 64位上运行,并使用旧的应用程序。
应用程序出现错误:
System.TypeInitializationException: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'CrystalDecisions.ReportAppServer.CommLayer, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
我曾尝试安装CRRedist2005_X64.msi,但错误仍然存在,但说的有些不同。我试图安装更新的版本,但它没用。
你需要安装这个:
确保dll文件的版本。
CrystalDecisions.ReportAppServer.CommLayer, Version=10.2.3600.0
适用于CR2005。也许更高版本适用于较新的CR版本。
以上是关于报告适用于开发PC,但在部署它的PC上抛出异常(CrystalDecisions.CrystalReports.Engine.ReportDocument)的主要内容,如果未能解决你的问题,请参考以下文章
ORA-01017: Flyway 在 Jenkins 上抛出的用户名/密码无效
Android MediaPlayer 在 2.1 上抛出“准备失败。:状态 = 0x1”,适用于 2.2
OpenCV SVM 在火车上抛出异常,“错误参数(只有一个类)”
休眠和 HSQLDB - 适用于 PC - Linux 上的错误