【问题标题】:Unable to generate a report with SAP Crystal report无法使用 SAP Crystal 报表生成报表
【发布时间】:2014-10-03 07:18:23
【问题描述】:

我在使用 Crystal 报告时遇到了一个问题,该报告用于在 WPF 应用程序中为我的订单生成报告。

我的工作站配置是 Windows 7 (Ultimate) 64 位,Visual Studio 2010。

我没有安装任何 Crystal Report 引擎,但我已将所有必要的 dll 复制到我的项目中(创建了一个文件夹,然后在我的项目中引用)。

但是当我单击按钮(生成报告的按钮)时,报告构造函数中出现异常(不同的运行会出现不同的异常)。

主要的例外说

"类型初始化器 'CrystalDecisions.CrystalReports.Engine.ReportDocument' 抛出了一个 例外。”

当我深入研究内部异常时,我就知道了这一点。

"无法加载文件或程序集 'CrystalDecisions.ReportAppServer.CommLayer,版本=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' 或其之一 依赖关系。系统找不到文件 指定。":"CrystalDecisions.ReportAppServer.CommLayer, 版本=13.0.2000.0,文化=中性,PublicKeyToken=692fbea5521e1304"

这是我的错误的屏幕截图,

我用谷歌搜索了它并知道我需要为 Vstudio 2010 安装 CR,但是如果我安装我的开发机器,我如何制作安装程序以部署在客户端机器上并且我不想安装 CR在所有机器上(我将部署到我的许多客户的机器上)。

我真的需要帮助来解决这个问题,我该怎么做才能解决我的问题?

高度赞赏任何帮助。

【问题讨论】:

  • 您打算使用 Crystal Reports 报表引擎,但不想部署它?是这样吗?
  • 我真的没有得到你的问题@Dennis,我想做的是生成报告。而且我无法为所有客户的机器安装 CR(因为我有很多客户,安装对我来说确实是个问题)。但是我可以将所有必要的 dll 复制到我要部署的应用程序中。
  • 你得到这个工作了吗@ganesh?
  • Noah @TheodosiusVonRichhofen 我制作了一个引导程序包,可以与 Windows 安装程序一起安装,但没有运气。因此,我采取了另一种方法来使我的工作取得进展,但仍在寻找适合我的解决方案。
  • 我告诉我的客户这是应用程序生成报告的先决条件,我已经分别给出了 VS13 安装文件的 CR,并要求他们安装在所有机器上。就是这样,我想出了解决办法。

标签: c# wpf visual-studio-2010 crystal-reports


【解决方案1】:

官方文档says

为 Visual Studio 2010 (CRVS2010) 运行时部署 Crystal Reports 文件是强制性的,以确保项目包含 Crystal Reports 组件功能正常。

要么遵循这些建议,要么拒绝在您的应用程序中使用 Crystal Reports,并选择另一个符合您要求的部署报告引擎。

【讨论】:

  • 是否可以在没有管理员权限的情况下安装使用CR的应用程序?
  • +1 :这就是我的想法。安装与复制 Dll 不同。安装时会更改注册表项和其他背景废话。
  • @VDohnal:正如它所说,CR 使用 msi/msp 包,即 Windows Installer。因此,安全性没有什么特别之处。我不是系统管理员,但我认为允许非特权用户安装软件并不是一个好习惯。
  • 单击一次应用程序(或简单的 .net exe)通常可以通过简单的复制安装到用户配置文件中,而无需任何管理权限 - 我觉得这很棒。遗憾的是 CR 不提供非 msi 解决方案,这使得它的可部署性降低。
【解决方案2】:

您是否为您的应用程序使用 ClickOnce 安装?如果是这样,您可以在项目的 Publish... 属性下将 SAP Crystal Reports Runtime Engine for .NET Framework 指定为先决条件,这样它就会在您的应用安装时安装,它会从 Web 下载和安装。如果不是 ClickOnce,您的安装方法也可以配置为将引擎与您的应用程序一起安装。要进行开发,您需要安装 CR for Visual Studio。

【讨论】:

  • 我正在使用 Windows 安装程序来部署我的应用程序。有什么方法可以在我的部署包中制作一个包含这些所需 dll 的包,这样它们就可以在不访问互联网的情况下进行简单安装。
  • 已经有一段时间没有使用 Windows 安装程序了,但我知道我以前用过。很确定你只是在先决条件中选择它。这应该可以帮助您入门:msdn.microsoft.com/en-us/library/7eh4aaa5(v=vs.100).aspx
  • 好的,所以为了生成报告,我必须安装 32 位或 64 位的 CR,否则无法使用。这就是你想说的。添加所有必要的 dll 是否不足以生成报告?
  • 我相信对于你的开发机器Crystal 需要你安装Crystal for Visual Studio。然后,这将允许您在项目中包含引用,以便它可以在您的开发机器上工作。对于部署,是的,您必须包括 Crystal 的先决条件,无论是 32 位还是 64 位。这里还有一些链接(不确定您使用的是什么版本的 Crystal/Visual Studio 等):scn.sap.com/docs/DOC-7824scn.sap.com/people/coy.yonce/blog/2010/11/12/…
  • 我的一位开发人员安装了 CR,她能够生成报告。所以她已经用所有必要的 dll 和我正在使用的相同的代码检查了她的所有代码(在从 TFS 获取最新版本之后)。但仍然没有运气。我在 Windows 7(64 位 - Ultimate)上使用 Visual Studio 2010。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 2014-02-07
  • 1970-01-01
相关资源
最近更新 更多