首页 > 解决方案 > 水晶报表 mvc

问题描述

我用 c# mvc 4.8 做了一个应用程序,我用水晶报告做的报告很少。

在调试的 Visual Studio 2019 上运行良好。一旦我部署到本地 IIS,报告就不起作用了。

我有以下错误。我可以在配置文件中添加一些东西吗?我已经安装了运行时 sap 最新版本 64 位。

无法打印报告 CrystalDecisions.Shared.CrystalReportsException:加载报告失败。---> System.Runtime.InteropServices.COMException:系统找不到指定的文件。在 CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) 在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) 在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() --- 内部异常堆栈结束跟踪 --- 在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) at ArsWeb .

有什么解决办法吗?

谢谢

标签: c#iismodel-view-controllercrystal-reports

解决方案


通常,这个错误有2个原因,您可以尝试以下方法来解决问题。

权限问题

应用程序必须有权访问 Temp 文件夹。你有两个选择来解决这个问题(选择任何一个)。

1.如何为 Web 服务器上的 Windows 临时文件夹分配权限

2. ASP.NET 模拟

ASPNET 机器帐户要添加到 Temp 目录中,因此我们必须为 Web.config 文件中的标记指定用户名和密码属性,以识别 IIS Authenticated Account 或 User。

<identity impersonate="true" userName="accountname" password="password" />

文件路径或文件名无效

1.确保报告文件名正确(可能是 Typo 之类的。例如:Repotr1.rpt 而不是 Report1.rpt)。

2.确保报告路径正确(例如:“Reports/Report1.rpt”而不是“~/Reports/Report1.rpt”)。

3.实际上我们有些人忘记将报告文件复制到发布文件夹(IIS虚拟目录)。


推荐阅读