c# - 'CrystalDecisions.CrystalReports.Engine.ReportDocument' 的类型初始值设定项抛出异常

标签 c# .net deployment installshield crystal-reports-2010

我正在为使用 Crystal Reports API 显示和打印表单的客户部署桌面应用程序。我正在使用 InstallShield 2012 构建安装程序。我还包括了 .NET 4.0 Framework 以及所有 Crystal 程序集。我有 2 个(有点相关的)问题:

1) 每当我试图在客户端机器上运行应用程序时,我都会收到以下错误:

The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' 
      threw an exception.

我不知道我在这里忘记了什么。 CrystalDecisions.CrystalReports.Engine dll 已在 GAC 中正确注册,其他 10 个 Crystal 程序集也是如此。

2) I have asked this question on the SAP forums ,我被告知我需要包含 .NET 2.0 Framework 和 .NET 4.0 Framework。我尝试在我的安装程序包中包含 .NET 2.0 可再发行组件,但安装程序没有安装它。安装程序是否看到我安装了 4.0,所以它会跳过 2.0 安装?

最佳答案

这是对我有用的:

如果您在 64 位机器上安装,请确保“构建”选项卡下的应用程序属性将“任何 CPU”作为平台目标,如果有选项,请取消选中“首选 32 位”复选框. Crystal 对 32/64 位程序集非常敏感,并做出了一些非常违反直觉的假设,这些假设很难排除故障。

关于c# - 'CrystalDecisions.CrystalReports.Engine.ReportDocument' 的类型初始值设定项抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16658300/

相关文章:

c# - 具有不同属性的对象的多个值的 XML 到 Linq

c# - 如何在不按住 Alt 的情况下显示下划线(快捷方式)?

java - 在 Tomcat 6.0.20 中更新现有 webapp 时出现问题

deployment - 在 JBoss 7 中配置 JDBC 驱动程序 - 作为部署还是作为模块?

java - 在 Tomcat 上部署 JSF war 时出现异常

c# - 如何在 C# 中可靠地确定字符的宽度?

c# - Windows Phone 中 richtextbox 的使用

.net - 接口(interface)/抽象类中的静态方法

c# - 如何按wpf中的后续数字对数组列表进行排序?

c# - Microsoft fakes 的 shim 在内部是如何工作的?