【问题标题】:Can't get CrystalReports to run when deployed to IIS部署到 IIS 时无法运行 CrystalReports
【发布时间】:2018-09-12 23:13:43
【问题描述】:

我们有一个用 c# (Visual Studio 2015) 编写的 ASP.NET 项目。作为应用程序的一部分,我们包含了一些在 VS 2015 的 Crystal 插件中设计的罐装 Crystal Reports。在本地开发机器上,我们可以使用以下代码毫无问题地运行报告。

using CrystalDecisions.CrystalReports.Engine;
...
ReportDocument report = new ReportDocument();
TableLogOnInfo conInfo = new TableLogOnInfo();
conInfo.ConnectionInfo.UserID = Global.Config.GetValue("USERID");
conInfo.ConnectionInfo.Password = Global.Config.GetValue("PASSWORD");
conInfo.ConnectionInfo.DatabaseName = Global.Config.GetValue("DATABASENAME");
conInfo.ConnectionInfo.ServerName = Global.Config.GetValue("DATASOURCE");

report.Load(reportPath + name);
for (int i = 0; i < report.Database.Tables.Count; i++)
{
    report.Database.Tables[i].ApplyLogOnInfo(conInfo);
}

return new FileStreamResult(report.ExportToStream(ExportFormatType.PortableDocFormat), "application/pdf");

但是当我们部署到 Windows 2008 Server r2 机器上的 IIS 服务器时,我们在实例化 ReportDocument 对象时遇到错误:

at CrystalDecisions.Shared.SharedUtils..cctor() : 
Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.

所有 CrystalDecisions.*.dll 都包含在已发布的应用程序中。我正在努力找出问题所在。

明确地说,我们没有使用 Crystal Viewer。我们只是尝试运行报告 (*.rpt) 并输出到 PDF 文件流。

【问题讨论】:

    标签: .net deployment crystal-reports


    【解决方案1】:

    听起来它与 Crystal Reports 无关。

    您需要部署log4net 库。可能,您的应用程序使用它来注册日志(如异常发生)。

    【讨论】:

    • 我确实将它复制到应用程序目录中(请参阅我的答案),但这不是最终问题。真正的问题是缺乏关于运行时要求和先决条件的明确文档。
    【解决方案2】:

    我从本地计算机复制了 log4net.dll 以解决第一个错误。显然,您还需要安装一个水晶运行时。但运行时不会安装在 Windows 2008 r2 SP1 服务器上。注册某些 DLL 时失败。

    我们能够安装旧版本 (CRRuntime_32bit_13_0_19)。但这对编译的代码有问题。

    我需要应用一些 Microsoft 更新才能最终安装 CRRuntime_32bit_13_0_23 运行时。安装此运行时后,一切都很好。

    文档不是很清楚。似乎也没有任何简单的方法可以找到正确运行时的先决条件列表。我不知道需要哪个 MS 更新。我刚刚安装了一堆。此服务器在此之前已锁定更新,因为它已经稳定了好几年。

    经验教训。

    【讨论】:

      猜你喜欢
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      相关资源
      最近更新 更多