【问题标题】:Crystal Reports Failing after upgrading app to VS2008\.NET 3.5将应用程序升级到 VS2008\.NET 3.5 后 Crystal Reports 失败
【发布时间】:2010-12-06 23:57:03
【问题描述】:

我正在将现有的 ASP.NET2.0 应用程序升级到 .NET3.5(从 VS2005 升级到 2008 - 是的,我知道我迟到了!)并且遇到了 Crystal Reports 的问题。

基本上下面这行代码会导致 Webdev.WebServer.exe 关闭并且应用程序崩溃(我返回到 VS)。

CrystalDecisions.CrystalReports.Engine.ReportDocument rd = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

该行在 Try/Catch 中,但此时未引发异常。

我尝试创建一个仅包含此行的新项目,但它也崩溃了 - 所以它不是应用程序本身。
然后我尝试使用旧版本的 dll(10.5.3700.0 而不是 11.5.3700.0),它在虚拟应用程序中运行良好。显然,我宁愿不降级真正的应用程序,但这样做确实可以解决问题(我还需要降级其他 CR dll,因此它可能会对应用程序产生连锁反应)。

我找不到任何对更高版本 DLL 的引用,并且已从 Crystal Reports 下载了 VS2008 的最新运行时包,但这并没有什么不同 - 尽管安装程序似乎什么也没做,事件查看器确认安装成功。

除了降级 dll 之外,还有其他人经历过这种情况或知道解决方法吗?

[编辑] 我已经能够通过关闭数据执行保护来解决这个问题,但这不是一个可行的解决方案 - 我几乎没有告诉客户这样做!此外,在 VS2005/.NET2.0 中一切正常!

【问题讨论】:

    标签: visual-studio-2008 .net-3.5 crystal-reports


    【解决方案1】:

    我可能在这里找到了答案 - 看起来 Crystal Reports XI R2(dll 版本 11.5.3700.0)与 VS2008 不兼容。

    This Business Objects document 或多或少地证实了这一点,尽管奇怪的是 v10.5 和 2008(XI R2 的任一侧的版本)兼容。该文件还说可能需要关闭数据执行保护,但这(在我看来)是不可行的。

    我将删除 XI R2 并安装 2008,然后看看效果如何 - 完成后我会回复。

    [编辑] 做到了!奇怪的是支持 v10 和 v12,但不支持 v11。

    [编辑] 也许我很快就开始对自己感到满意 - 虽然它现在可以在我的本地开发 PC 上运行,但部署到服务器并不那么简单。我尝试安装正确的运行时,但是当报告查看器打开时,我只是在浏览器中收到一条错误消息“找不到文件:C:\Windows\Temp\9as00af.dll”。

    [最终编辑] 看来我必须恢复到 10.5.3700.0 - 即 VS2008 附带的 Crystal Reports 版本。然后在服务器上安装运行时解决问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多