我整理了一个POC控制台应用程序 . 从Crystal Report生成PDF(使用CrystalDecisions库)
这一切都适用于我的开发 . 框,但在其他地方执行时遇到异常:
无法加载文件或程序集“CrystalDecisions.ReportAppServer.CommLay,版本= 13.0.2000.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304”或其依赖项 . 该系统找不到指定的文件 . 未处理的异常:System.TypeInitializationException:'CrystalDecisions.CrystalReports.Engine.ReportDocument'的类型初始值设定项引发异常 . - > System.IO.FileNotFoundException:无法加载文件或程序集'CrystalDeci sions.ReportAppServer.CommLayer,Version = 13.0.2000.0,Culture = neutral,PublicKey Token = 692fbea5521e1304'或其依赖项之一 . 该系统找不到指定的文件 . 在CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()
我相信这是由缺少Crystal Reports运行时(未显式安装)引起的 .
1)任何人都可以确认一下吗?
2)如果没有在目标计算机上安装Crystal Reports运行时,有没有办法让这个工作?
我已经阅读了有关使用合并模块等构建安装程序的内容,但这是一个控制台应用程序,我不想沿着这条路线前进 .
提前致谢 .
EDIT:
I checked out the DLL dependencies and this actually appears to be missing libraries API-MS-WIN-CORE-*
1 回答
您需要分发Crystal Reports的运行时才能工作 .
另一种选择是编写第二个应用程序来生成可以安装在服务器上的pdf文件,然后每个控制台应用程序向新服务器应用程序发送请求,该应用程序将发送回pdf文件 . 这意味着晶体运行时只能安装在一台机器上,而原始控制台应用程序不需要担心它 .
仅供参考,可从此处下载晶体运行时间:http://scn.sap.com/docs/DOC-7824