无法弄清楚缺少什么库

Can't figuring out what library is missing

我有一个包含 Crystal 报告的应用程序。它在某些计算机上存在问题 运行。我已经有一段时间没有遇到这个问题了,所以我尝试安装我记得我需要的所有东西。

首先,我制作了一个简单的控制台应用程序,它有一个空的 Crystal Report,它所做的只是实例化报告并在 EXE 旁边导出为 PDF。这样测试起来要快得多。我放了一个 try catch 并将错误的堆栈跟踪写入文本文件,以便我可以快速调试。

运行 它在我的电脑上运行良好。将其复制到无法运行的计算机上并进行了尝试,但未能找到资源。所以我安装了我需要的最新 Crystal 运行时,它是 13_0_22 64 位。

运行 再次出现错误:

Method not found: 'CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag CrystalDecisions.ReportAppServer.ReportDefModel.ISCRExportOptions.get_ExportOptionsEx()'

然后我记得 Crystal Report 不能在 Any CPU 上 运行 并且你必须指定一个平台。将我的控制台项目重新编译为 x64,现在我遇到了以下错误:

The document has not been opened. at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.set_ReportAppServer(String pbsVal)

现在我确定计算机有 .net 3.5、.net 4.7 和 Microsoft Visual C++ 2012(我知道这是 Crystal 的要求)。

还有什么我需要安装的吗?

我已经重新安装了 Crystal 运行 次,认为可能是这样,但它仍然无法正常工作。

这是我使用的代码,以防有人不知道我所说的简单 crystal 报告代码的意思:

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System;
using System.Data;
using System.Diagnostics;
using System.IO;


namespace ConsoleApplication1678
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {              
                var report = new CrystalReport1();               

                if (File.Exists("rpt.pdf"))
                {
                    File.Delete("rpt.pdf");
                }
                report.ExportToDisk(ExportFormatType.PortableDocFormat, "rpt.pdf");

                Process.Start("rpt.pdf");
            }
            catch (Exception ex)
            {
                var error = ex.Message + "\n\n" + ex.StackTrace;
                File.WriteAllText("error.txt", error);               
            }
        }
    }
}

直接从 SAP 得到了我的答复。简短版本我需要使用最新版本并告诉我所有的客户给我他们使用的所有软件的列表 crystal 这样我就可以打电话给这些公司并让他们升级到最新版本因为你不能有 2同时安装的版本,它们都需要是相同的位格式。

我的应用程序必须 运行 64 位,因为我们使用了超过 20 GB 的 ram,所以我需要致电所有其他应用程序供应商,通过安装最新版本来制作他们的应用程序 64 位编译版本程序失败。