我正在将现有的ASP.NET2.0应用程序升级到.NET3.5(从VS2005升级到2008--是的,我知道我迟到了!)并且遇到了Crystal Reports的问题。Crystal Reports将应用程序升级到VS2008 .NET 3.5后失败
基本上下面这行代码会导致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中一切都运行良好!