Crystal Report SetDataSource崩溃

时间:2018-12-03 04:28:43

标签: c# crystal-reports visual-studio-2017 .net-3.5

我的项目由Visual Studio 2013开发,该工作室使用SP21下的Crystal Report。目前,我迁移到使用Visual Studio 2017并安装了Crystal Report SP24。该应用程序能够执行而没有任何问题。但是,一旦我通过Crystal Report打印报告,w3wp.exe便崩溃了。这是在我的本地主机上发生的。

          rptGrn.Load(HttpContext.Current.Server.MapPath("~/Reports/GRNRecords.rpt"));
      rptGrn.SetDataSource(SSRecordHdrs); //error
      rptGrn.Subreports["GRNDetails"].SetDataSource(lsDtls); //error

我通过在web.config中添加设置来尝试该解决方案,但是对此没有运气,并且它不起作用。

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>    
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>

这个问题我一个星期挠头了。感谢您提供帮助解决此问题的线索或帮助。

非常感谢您。

设置:  -WebForm应用程序  -.NET 3.5  -Visual Studio 2017  -IIS 10(本地主机)

1 个答案:

答案 0 :(得分:0)

苦了一个星期后,我发现根本原因是后来的Crystal Report SP21无法使用ADO.NET。

请参考SP21的要点(5): https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

我发现的解决方案是: 通过在SP21下安装Crystal Report创建虚拟机,然后在虚拟机上部署项目。

注意: 如果.NET Framework超过3.5,将不会出现此问题。

如果有人正在通过.NET 3.5框架进行开发,也许可以通过添加解决该问题

    <startup useLegacyV2RuntimeActivationPolicy="true">

到网络/应用程序配置。我尝试过这种方法,但是对我来说没有运气。

遇到这个问题的人祝你好运。