【问题标题】:FileNotFoundException when creating a new ReportDocument with CrystalDecisions.CrystalReports.Engine使用 CrystalDecisions.CrystalReports.Engine 创建新的 ReportDocument 时出现 FileNotFoundException
【发布时间】:2021-02-10 04:29:58
【问题描述】:

我正在创建一个 .Net CORE 应用程序来加载 Crystal Report 并按计划将其另存为 PDF。它具有仅在单个开发 PC 上运行的应用程序的 .Net 版本。这是我当前的代码:

string executablePath = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
string reportPath = executablePath + @"\";
Console.WriteLine(reportPath);
List<string> reportFileNames = new List<string>();

ReportDocument report = new ReportDocument();

当我在控制台应用程序中执行此代码时,出现以下异常:

Could not load file or assembly 'CrystalDecisions.ReportAppServer.CommLayer, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.

当我将“工作”应用程序从另一台开发 PC 上移出时,它会出现相同的错误。我在应用程序中有 zqb91 的 Nuget 包 CrystalDecisions.CrystalReports.Engine 1.0.0,并且在新的开发 PC 上安装了 Crystal Reports 2020。

我应该使用哪个 Nuget 包或库?所选软件包似乎已被废弃,因为它已超过 6 年没有更新。

==更新==

我将整个应用程序重新创建为 .Net Framework 4.8 应用程序。我创建了一个全新的虚拟系统。我在该系统上安装了最新的 Crystal Reports 运行时。它不会运行。我确保所有 Crystal Reports 库都在 PATH 中。它不会运行。我在该系统上安装了 Crystal Reports 2020。它仍然不会运行。

【问题讨论】:

    标签: c# crystal-reports


    【解决方案1】:

    .NET Core 与 .NET Crystal Reports Runtime 不兼容(需要旧的 .NET 框架,而不是新的 .NET Core)。

    【讨论】:

    • 我将尝试使用旧版本的 .Net 重新创建应用程序。大概是 4.7。
    • 自从您发布此解决方案以来,我一直在开会。当我有喘息的空间时,我会测试。
    • 我重新创建了整个项目。在我在系统上安装 Crystal Reports 之前它不会运行。
    • 将应用程序创建为 .Net Framework 4.8 应用程序,但仍无法运行。
    • 重启让它运行。
    猜你喜欢
    • 1970-01-01
    • 2013-05-17
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多