0

我整理了一个 POC 控制台应用程序。从 Crystal Report 生成 PDF(使用 CrystalDecisions 库)

在我的开发中一切正常。框,但在其他地方执行时遇到异常:

无法加载文件或程序集 'CrystalDecisions.ReportAppServer.CommLay er, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' 或其依赖项。该系统找不到指定的文件。

未处理的异常:System.TypeInitializationException:“CrystalDecisions.CrystalReports.Engine.ReportDocument”的类型初始化程序引发了异常。-- -> System.IO.FileNotFoundException: 无法加载文件或程序集 'CrystalDecisions.ReportAppServer.CommLayer, Version=13.0.2000.0, Culture=neutral, PublicKey Token=692fbea5521e1304' 或其依赖项之一。该系统找不到指定的文件。在 CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()

我相信这是由于缺少 Crystal Reports 运行时(未明确安装)造成的。

1)任何人都可以确认这一点吗?

2) 有没有办法在目标机器上不安装 Crystal Reports 运行时让它工作?

我已经阅读了有关使用合并模块等构建安装程序的信息,但这是一个控制台应用程序,我不想走那条路。

提前致谢。

编辑:

我检查了 DLL 依赖项,这实际上似乎缺少库 API-MS-WIN-CORE-*

4

1 回答 1

0

您将需要分发运行时以使 Crystal Reports 工作。

另一种选择是编写第二个应用程序来生成您可以安装在服务器上的 pdf 文件,然后您的每个控制台应用程序都会向新的服务器应用程序发送请求,该服务器应用程序会发回 pdf。这意味着水晶运行时只能安装在一台机器上,而原始控制台应用程序不需要担心它。

仅供参考,可以从这里下载水晶运行时:http: //scn.sap.com/docs/DOC-7824

于 2015-09-18T09:56:18.643 回答