C# 安装在E上的Crystal Reports 2011.Net 4.0操作系统:运行报告时出错
我有一台PC,操作系统安装在E:上,但它没有C:驱动器。在此基础上,我安装了运行良好的.NET4.0WPF应用程序 然而,当我试图访问crystal报告时,它给出了以下例外情况。该用户可以从其在windows资源管理器中的网络位置访问报告,因此我假设要求Crystal在本地复制报告的行为会导致问题 因此,是否有人可以建议在何处创建本地副本和/或我如何控制该副本 谢谢 打开报告的代码:C# 安装在E上的Crystal Reports 2011.Net 4.0操作系统:运行报告时出错,c#,.net,vb.net,crystal-reports-2010,C#,.net,Vb.net,Crystal Reports 2010,我有一台PC,操作系统安装在E:上,但它没有C:驱动器。在此基础上,我安装了运行良好的.NET4.0WPF应用程序 然而,当我试图访问crystal报告时,它给出了以下例外情况。该用户可以从其在windows资源管理器中的网络位置访问报告,因此我假设要求Crystal在本地复制报告的行为会导致问题 因此,是否有人可以建议在何处创建本地副本和/或我如何控制该副本 谢谢 打开报告的代码: oReportDocument.Load(oSystemData.ReportPath + StandardRe
oReportDocument.Load(oSystemData.ReportPath + StandardReport.RPTFile, CrystalDecisions.[Shared].OpenReportMethod.OpenReportByTempCopy)
调用堆栈的提取:
CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: Invalid report file path.
在CrystalDecisions.CrystalReports.Engine.EngineeExceptionUtils.DoThrowException(字符串消息,EngineeExceptionErrorId)
在CrystalDecisions.CrystalReports.Engine.ExceptionRower.ThrowenEngineException(字符串messageID,EngineeExceptionErrorId)
在CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(字符串文件名,OpenReportMethod openMethod,Int16 parentJob)
在CrystalDecisions.CrystalReports.Engine.ReportDocument.EnsureLoadReport()处
在CrystalDecisions.CrystalReports.Engine.ReportDocument.get_Subreports()加载报告时,它会生成报告的本地临时副本。找出该系统上的temp环境变量。如果是e:\temp,那么我怀疑您没有将文件写入该文件夹所需的权限 这就是说,因为听起来像是在构建一个Windows WPF应用程序,所以它可能正如您所建议的那样,实际上是在尝试一个无效的目录,如“c:\anything” 为了准确了解问题所在,我建议运行Process Monitor,您可以在此处下载: 它很容易使用,唯一恼人的是它在你的系统上观察到了大量的东西。要解决这个问题,右键单击“杂乱”条目(在捕获窗口中)并选择过滤它们。它允许筛选器位于进程(即myWPFapp.exe)或活动类型上,在这种情况下,您希望监视文件系统(显然) 一旦您让它捕获事件,并将其过滤掉,这样它就不会迅速填满窗口,只需运行您的应用程序。您将看到对硬盘驱动器及其试图使用的文件夹的任何失败访问 祝你好运