Windows 10中的CrystalReportViewer对象失败

2020-08-14 22:49发布

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

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


将在Windows 7计算机上运行的Visual Studio 2017应用程序移植到Windows 10计算机时遇到问题。 安装后,该表格显示为空白表格。 我已将问题隔离到CrystalReportViewer对象。 用于开发报表的Crystal报表版本为Crystal Reports 11,版本14.0.2.364 RTM。 我正在查看网站 https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads 似乎表明我需要21号补丁才能解决此问题 问题。 请让我知道这是否正确,以及如何获取该补丁。 谢谢......

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

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


将在Windows 7计算机上运行的Visual Studio 2017应用程序移植到Windows 10计算机时遇到问题。 安装后,该表格显示为空白表格。 我已将问题隔离到CrystalReportViewer对象。 用于开发报表的Crystal报表版本为Crystal Reports 11,版本14.0.2.364 RTM。 我正在查看网站 https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads 似乎表明我需要21号补丁才能解决此问题 问题。 请让我知道这是否正确,以及如何获取该补丁。 谢谢......

付费偷看设置
发送
10条回答
1楼 · 2020-08-14 23:28.采纳回答

您至少需要补丁21 才能解决此问题。 但是,这已经有两年了,所以最好的选择是升级到最新版本,即补丁27。您需要使用最新版本重新编译代码-可能需要进行一些更改 到它,但应该不多-然后安装与编译应用程序时使用的运行时版本相同的版本。

在链接到的Wiki上,有几个下载链接。 -一个将为您提供与Visual Studio集成以进行设计时工作的SDK的当前版本,而另一个在其下方是指向SDK集成以及各种类型的当前和某些先前版本的链接。 可用的运行时安装数量。 您必须使用.exe与VS集成-下载后,右键单击它,然后选择"以管理员身份运行"以正确安装它。 不要在开发计算机上安装任何多带带的运行时-它们仅在部署应用程序时使用。 运行时版本应与设计时版本匹配,以便正常工作。

-Dell

打个大熊猫
2楼-- · 2020-08-14 23:17

Don和他的文档有助于纠正问题。 感谢您启动对我的问题的回复。

代楠1984
3楼-- · 2020-08-14 23:35

嗨吉姆,

在我链接到的WIKI页面上:

https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

❗请注意:要集成" SAP Crystal Reports,Microsoft Visual Studio的开发人员版本",您必须通过右键单击并选择"以管理员身份运行"来运行Install Executable。 安装MSI不会将Crystal Reports完全集成到VS中。 根据定义,MSI文件仅用于运行时分发。

还有一个:

注意:CR Redist软件包仅用于将运行时部署到工作站上,而Application Server是针对项目平台而非操作系统而设计的。 MSIExec将检测操作系统是否为64位,并安装64位MSI,如果要在x86模式下使用您的项目,则会生成错误。

但是还不清楚,所以我将其更新为:

❗请注意:要集成" SAP Crystal Reports,Microsoft Visual Studio的开发人员版本",您必须通过右键单击并选择"以管理员身份运行"来运行Install Executable。 安装MSI不会将Crystal Reports完全集成到VS中。 根据定义,MSI文件仅用于运行时分发。 不要在不需要VS的开发PC上运行MSI。

我也说过

CR 11真的是2011年CR? 那将是4.0。

在这些版本中,我们将运行时更新为Windows兼容

CR Server Embedded(OEM)2011-SP 10
CR Server Embedded(OEM)2016-SP 4 BOE 4.1 SP 10 BOE 4.2 SP 4 Visual Studio SP 21的晶体报告

CR 2011不在列表中,因此要支持Windows 10 + CR Designer + CR for VS,您需要将CRD升级到2016 SP 4或更高版本,当前是SP 8。

您需要匹配版本,否则会导致问题。

Don

bbpeas
4楼-- · 2020-08-14 23:37

我安装了以下补丁CR13SP27MSI32_0-10010309.MSI。 然后在Visual Studio中,我将应用程序中的dll换成13.0.3500.0版本的13.0.4000.0版本。 我还需要为正确版本的CrystalReportViewer交换工具箱工具。 我可以在窗体上看到原始的CrystalReportViewer对象,但是无法选择它们以在窗体上重新放置它们,这是一个问题。 我可以从属性菜单下拉列表和表单下方的对象部分访问原始的CrystalReportViewer对象属性。 然后,我尝试使用新工具版本创建另一个CrystalReportViewer对象。 该对象不会出现在窗体上,但确实显示在窗体下面的对象部分中。 我决定不保留它。 我运行了该应用程序,它与原始CrystalReportViewer对象一起显示。 当我单击将开始创建报告过程的按钮时,收到以下错误:

13:28:01 ==>发生异常:

消息==>过程[btnRunReport_Click]中发生故障'CrystalDecisions.CrystalReports.Engine.CRPE'的类型初始值设定项引发了异常。

13:28:01 ==>内部异常为:

消息==>在过程[btnRunReport_Click] CrystalDecisions.Shared.CrystalReportsException中发生故障:无法加载C:\ Program Files(x86)\ SAP BusinessObjects \ Crystal Reports for .NET Framework 4.0 \ Common \ SAP BusinessObjects 企业XI 4.0 \ win32_x86 \ crpe32.dll。

在CrystalDecisions.CrystalReports.Engine.CRPE..cctor()

crpe32.dll存在于列出的目录中。 这是13.0.4000.0版本。

然后我认为事情可能会变得混乱,因此我决定创建一个新的应用程序。 在尝试添加13.0.4000.0版本的CrystalReportViewer对象之后,我停了下来,该对象也不再出现在表单上。

知道我在做什么错吗? 我应该使用较旧的服务补丁吗?

浮生未央
5楼-- · 2020-08-14 23:30

嗨吉姆,

CR 11真的是2011年CR? 那将是4.0。

在这些版本中,我们将运行时更新为Windows兼容

CR Server Embedded(OEM)2011-SP 10
CR Server Embedded(OEM)2016-SP 4 BOE 4.1 SP 10 BOE 4.2 SP 4 Visual Studio SP 21的晶体报告

CR 2011不在列表中,因此要支持Windows 10 + CR Designer + CR for VS,您需要将CRD升级到2016 SP 4或更高版本,当前是SP 8。

这是使所有功能都在一台PC上运行的唯一方法。

从VS平台的CR中,您可以找到支持的操作系统:

http://scn.sap.com/docs/DOC-21990

您可以从此链接升级CRD:

https://www.sap.com/products/crystal-reports.html

Don

Nir深蓝
6楼-- · 2020-08-14 23:30

在我6/3/2020的帖子中,我似乎讲得太早了。 几周后,该应用程序开始因Windows 10计算机上的Crystal Report Windows Forms Viewer错误而失败。 我们使用较旧的库以及从那时起使用Crystal Reports,将C#应用程序切换回运行在Windows 7计算机上的应用程序的先前版本。 我们还计划在8月发布Crystal Reports 2020时购买该产品,然后再次尝试使该应用程序和报告在Windows 10计算机上运行。 现在突然之间,我们遇到了与Windows 10计算机上相同或相似的错误。

我们针对6个站点运行了一系列6个报告。 报告之一失败,但仅针对其中一个站点。 如果我只是手动生成当前日期和该站点的报告(每个报告的两个筛选标准),我就可以创建报告。

Crystal报表的名称为"到期付款通知。RPT",它显示在"弹出窗口"信息框中。

弹出信息框中显示以下消息:

标题是==>" Crystal Report Windows Forms Viewer"

"付款通知文件错误"

" 1096_4136_ {BC0C0337-96EE-4E89-9BF3-A9268F96905A} .rpt:

"数据库连接器错误"

有什么想法吗?

Aaron 3364
7楼-- · 2020-08-14 23:10

如果您阅读了WIKI,它会告诉您不要在开发PC上安装MSI软件包。

卸载所有MSI和EXE,请下载 EXE集成到VS中。 在安装结束时,它询问您是否要安装64位运行时,请单击"确定"。

在您的项目中,VS并不总是替换/升级CR运行时。

是的,用13.0.4000.0版本替换未更新的CR组件。

然后,当您使用查看器打开表单时,请在工具箱中更改查看器

您的应用应该可以正常工作。

一周热门 更多>