日期:2014-05-20  浏览次数:20839 次

水晶报表发布时的路径问题?急
我把水晶报表放到项目路径中Reports中使用的,发布到到本机的一个路径中,使用本机的IIS 测试,一切OK。
但是为了测试程序我把发布的文件Copy to myself PC,(注:开发的电脑 VS 2008+sql 2000,xp系统 ,IIS 5.2 本人PC vs2008+ sql 2008 ,win 7 旗舰版,IIS 7.1 )错误信息如下:



“/”应用程序中的服务器错误。

系统找不到指定的路径。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Runtime.InteropServices.COMException: 系统找不到指定的路径。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪: 


[COMException (0x80004005): 系统找不到指定的路径。
]
  CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
  CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +95
  CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +271

[CrystalReportsException: 加载报表失败。]
  CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +334
  CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +894
  CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +84
  master_Default.ReportInput() +369
  master_Default.CrystalReport() +13
  master_Default.Page_Load(Object sender, EventArgs e) +161
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
  System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
  System.Web.UI.Control.OnLoad(EventArgs e) +99
  System.Web.UI.Control.LoadRecursive() +50
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627




是因为什么原因导致的,是版本问题?还是原本的路径问题?OR 系统环境? 版本和系统环境我能解决,请问路径如何解决?
有牛吗?
虽然我每次发帖都么人回,但是我遇到问题还是要发帖,期望有人解决。。。

------解决方案--------------------
服务器端

简单的应用这个里面有楼主想要的答案
一定要把引用都添加好,发布时一定要打包进bin目录下
要不就会出错
------解决方案--------------------
从症状上看,可能是权限问题引起的。
水晶报表在运行时,需要在系统临时文件夹生成临时文件
如果没有临时文件夹的写权限,也会报这个错误
解决方法是将系统文件夹给everyone或internet来宾一个可读写权限
省事点就是把c盘得权限全给。