加载报告失败。 Visual Studio 2017社区-报告在用户的PC上失败

2020-09-04 22:10发布

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

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


在VS 2017社区中,我将项目发布到了其中一台文件服务器。 我的项目是WinForm项目; 只是一个桌面应用程序。 我在VS中创建了3个小报告。 我运行了安装程序,以将应用程序安装在用户的一台PC(Windows 10 Pro)上。 它安装了; 但是,当我运行该应用程序并选择报告数据并单击"打印报告"按钮时,它基本上崩溃了。 它在顶部说:" CrystalDecisions.Shared.CrystalReportsException:加载报告失败"。 我尝试从另一个位置移动并读取我的* .RPT文件,导致相同的错误。 该应用程序在我的开发PC上运行良好。 我已经验证了参考文件(即与CrystalDecision相关的文件)已发布发布。 在过去的两天里,我进行了研究,试图解决为何未加载这些一页报告的问题。 我利用了带有Crystal Reports Viewer的表单。 如果有帮助,则CR引擎参考的版本为13.0.3500.0。

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

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


在VS 2017社区中,我将项目发布到了其中一台文件服务器。 我的项目是WinForm项目; 只是一个桌面应用程序。 我在VS中创建了3个小报告。 我运行了安装程序,以将应用程序安装在用户的一台PC(Windows 10 Pro)上。 它安装了; 但是,当我运行该应用程序并选择报告数据并单击"打印报告"按钮时,它基本上崩溃了。 它在顶部说:" CrystalDecisions.Shared.CrystalReportsException:加载报告失败"。 我尝试从另一个位置移动并读取我的* .RPT文件,导致相同的错误。 该应用程序在我的开发PC上运行良好。 我已经验证了参考文件(即与CrystalDecision相关的文件)已发布发布。 在过去的两天里,我进行了研究,试图解决为何未加载这些一页报告的问题。 我利用了带有Crystal Reports Viewer的表单。 如果有帮助,则CR引擎参考的版本为13.0.3500.0。

付费偷看设置
发送
9条回答
SAP浪
2楼-- · 2020-09-04 22:41

Hi Don,

与我的项目一起发布的版本是13.0.21.2533。

该应用程序被编译为Any CPU。

我没有尝试以管理员身份运行该应用程序。 我会按照您的建议进行操作并报告结果。 如果CR库随应用程序一起分发,那么我仍然需要在最终用户的PC上运行CR MSI吗?

看来,每次我发布需要CR的项目时,似乎总是需要反复试验才能找到可行的方法。 另一个问题是我们的会计系统使用CR。 可悲的是,在我的开发PC上,我无法将这些报表从我们的会计系统中运出,因为它们必须使用其他版本的CR。 使用CR的应用程序在计算机上运行良好。 我不想影响最终用户PC上的CR,以至于他们无法运行我们的会计系统。 如果可能的话,我宁愿避免这条细线。

再次感谢....

James Moss

Doze时光
3楼-- · 2020-09-04 22:52

嗨James,

13.0.3500.0是程序集版本,在"程序和功能"中应显示实际版本,例如13.0.24.xxxx

您是使用x86,x64或AnyCPU编译应用程序的吗?

让它们右键单击EXE并选择"以管理员身份运行",如果可行,则可能是权限问题。 他们还需要通过以管理员身份运行来运行CR MSI,这是Framework所需要的。

您可以尝试运行ProcessMonitor并查看正在记录哪些错误或AccessDenied错误。

Don

shere_lin
4楼-- · 2020-09-04 22:42

我在用户的PC上以管理员身份运行CR MSI。 这没有帮助。 我以管理员身份运行该应用程序。 这没有帮助。 我也确实使用了您提到的最后一个链接,即使用配置文件在同一台计算机上具有多个CR版本。 我将其与我的应用程序放置在一起。 报告仍然不会加载。 报告文件与EXE文件位于同一文件夹中。 CR运行时文件与我的EXE文件位于同一文件夹中。 我尚未在用户的PC上下载并运行过程监视器。 对于这样一个较小的应用程序,它基本上只读取和写入只有几个表的SQL Express数据库,这只是因为CR而使我花费更多时间。

除此之外,我不喜欢VS2017发布项目的方式。 对某些人来说,它一定很棒。 但是,对我而言,这失去了对如何将文件和引用组合到设置中的控制。 发布后,用户运行安装程序文件,它似乎将应用程序的EXE放入隐藏的文件夹中。 每当我想要查看文件以确保它是我的应用程序的最新更新副本时,我都会在驱动器中搜索程序。 我更希望在Program Files(x86)文件夹中找到它。 非常抱歉。

我感谢您的努力; 但是,我还是会空手而归。

黑丝骑士
5楼-- · 2020-09-04 22:44

有关如何在具有多个CR的VS应用程序的PC上使用不同版本的SDK的信息,请参见下载Wiki上的附件。 已安装:

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

悠然的二货
6楼-- · 2020-09-04 22:52

Don,

我一直在使用"任何CPU"(发布;而不是调试)来构建项目。 我可以为下拉框创建一个新项目,然后添加" x86",并使其从"任何CPU"复制其设置。 从听起来并不像它的面值变化很大。

您的第二条语句"在VS中的"发布"对话框中设置位置,默认情况下它不会到达该位置。" 带我问发布下的安装文件夹URL。 当前,发布文件夹和安装文件夹URL相同。 他们俩都指向我们网络上的网络共享。 这些应该不同吗? 我知道这似乎并没有改变我所问的CR问题,但是我发现在我的整个开发生涯中都发生了奇怪的事情。

关于我的报告,我必须做一些最奇怪的事情,以使其在我开发报告时不起作用。 我想知道是否应在应用程序代码中设置数据源属性时以某种方式更改CR文件中的某些属性。 也许这是我的技术。 嗯...发布前,我应该以某种方式清除RPT文件中的数据库位置吗? 可以这么说,我确实知道我已经超出了常规,但是为了获得解决方案而扔掉更多的信息并没有什么坏处。


谢谢您的时间先生。

葫芦娃快救爷爷
7楼-- · 2020-09-04 22:48

不知道我还能建议什么,如果将内部版本设置为x86,则安装86 MSI应该可以。

在VS中的"发布"对话框中设置"位置",默认情况下它不会进入该位置。

一周热门 更多>