升级到SP 21-无法转换为接口类型ISCRReportSource

2020-09-19 20:47发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我安装了SP 21以提供Visual Studio 2017兼容性。 我按照Wiki中给出的步骤操作,删除了现有的Crystal Reports引用,然后通过"引用"->"扩展"将其重新添加。 现在所有引用均显示为13.0.3500.0。通过C#,我将其称为ReportDocument.SetDataSource(IEnumerable)。 这将引发以下异常:

无法将类型为" CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass"的COM对象转换为接口类型为" CrystalDecisions.ReportAppServer.Controllers.ISCRReportSource"的接口。 此操作失败,因为具有以下错误的IID为" {31E7715A-8AD0-4D1C-958E-C1BE0A6F2D0C}"的COM组件上的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE)) 。

对解决方案有何想法? 到目前为止,我还没有任何运气。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我安装了SP 21以提供Visual Studio 2017兼容性。 我按照Wiki中给出的步骤操作,删除了现有的Crystal Reports引用,然后通过"引用"->"扩展"将其重新添加。 现在所有引用均显示为13.0.3500.0。通过C#,我将其称为ReportDocument.SetDataSource(IEnumerable)。 这将引发以下异常:

无法将类型为" CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass"的COM对象转换为接口类型为" CrystalDecisions.ReportAppServer.Controllers.ISCRReportSource"的接口。 此操作失败,因为具有以下错误的IID为" {31E7715A-8AD0-4D1C-958E-C1BE0A6F2D0C}"的COM组件上的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE)) 。

对解决方案有何想法? 到目前为止,我还没有任何运气。

付费偷看设置
发送
8条回答
1楼 · 2020-09-19 21:10.采纳回答

您好,尼古拉斯,

是的,很遗憾,由于平台更新,无法避免这种情况。 删除了对VC 2005 C ++运行时的依赖,并更新为较新的版本/支持Framework 4.7。

如果您在下载页面上阅读了 SP21发行版中的新功能 ,则会在其中注明:

2。 Microsoft Windows Update KB2999226是SP21的先决条件

4。 由于大多数CR/RAS .NET程序集现在已从13.0.2000.0转换为13.0.3500.0,因此用户必须从"引用"列表中删除所有旧的CR程序集,并添加新版本的CR程序集,然后重新构建应用程序。

a。 对于那些不想重建其应用程序的客户/用户,有一种解决方法可以在app.config/web.config中使用,请参阅附件。

我尚未在较早版本的测试应用程序中对此进行测试,但是有一个文件可以添加到与exe相同的位置,并且无需重新构建应用程序即可正常工作。

但是,我们建议您进行重建,因为最终MS会停止支持和更新较旧的Framework,这将迫使您无论如何都要升级。 修复/添加可能会迫使您使用的内容时,R&D将使用更新的版本。

这是因为MS不再支持VC 2005 C ++依赖关系,所以我们的编译器现在使用VS 2015。

再次感谢

Don

bbpeas
2楼-- · 2020-09-19 21:20

SP20和SP21之间的不兼容将导致 开发和升级周期令人头疼,因为尝试在安装SP21的计算机上运行为SP20创建的二进制文件会崩溃,反之亦然。

一周热门 更多>