使用CR for VS正确配置和分发应用程序

2020-09-24 09:05发布

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

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


您好,我使用VS 2013中的VS的Crystal Reports组件来开发旧版应用程序的新的单独可执行文件,该文件旨在与.NET Framework 3.5一起使用,并与CR合并(MSM)模块一起分发给客户端 。 当前,该项目使用 ADO.Net 数据库连接,并且只能在开发计算机上使用 在app.config中。

问题是:

1.To 与.NET Framework 3.5一起使用,应该分发CR运行时SP20还是我 可以分发SP21? (在CR Wiki中,据说SP21仅对 ADO.NET 支持.NET 4.0+)(< rel =" nofollow" hraf=" https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads" target =" _ blank"> https ://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads )

2。我应该在开发机器(安装了VS CR的地方)上安装适当的运行时吗?

3。 在哪个VS项目中,文件夹应引用的CR模块在客户端计算机上具有可执行文件(在分发CR MSM模块之后)?

详细的答案将不胜感激! 谢谢!

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

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


您好,我使用VS 2013中的VS的Crystal Reports组件来开发旧版应用程序的新的单独可执行文件,该文件旨在与.NET Framework 3.5一起使用,并与CR合并(MSM)模块一起分发给客户端 。 当前,该项目使用 ADO.Net 数据库连接,并且只能在开发计算机上使用 在app.config中。

问题是:

1.To 与.NET Framework 3.5一起使用,应该分发CR运行时SP20还是我 可以分发SP21? (在CR Wiki中,据说SP21仅对 ADO.NET 支持.NET 4.0+)(< rel =" nofollow" hraf=" https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads" target =" _ blank"> https ://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads )

2。我应该在开发机器(安装了VS CR的地方)上安装适当的运行时吗?

3。 在哪个VS项目中,文件夹应引用的CR模块在客户端计算机上具有可执行文件(在分发CR MSM模块之后)?

详细的答案将不胜感激! 谢谢!

付费偷看设置
发送
6条回答
大圣 - sap领域执行人,9年sap运营经验
1楼 · 2020-09-24 09:26.采纳回答

更新:安装.NET Framework 4.7后,它开始起作用!

追夢秋陽
2楼-- · 2020-09-24 09:42

谢谢您的回答! .NET 2.0.50727.5420已作为Win7的默认.NET 3.5.1安装的一部分安装。

还有其他主张吗? 切换回.NET 4是否可以解决此问题?

打个大熊猫
3楼-- · 2020-09-24 09:28

您需要在应用程序中部署与在VS中进行开发时使用的运行时版本相同的版本-两个版本必须匹配!/p>

由您决定使用哪个版本:

-SP20依赖于.NET 2.0,除了程序需要的.NET 3.5之外,还必须安装.NET 2.0。

-SP 21要求 ADO.NET 数据集使用.NET 4.0,因此您必须将其定位为目标。 NET 3.5用于您的应用程序。

不用担心SDK文件的位置-您的应用程序应该从GAC提取它们。

-戴尔

huskylover
4楼-- · 2020-09-24 09:36

非常感谢戴尔的回答!

我删除了SP21,并在我的开发机上安装了SP20,并用SP 20重新编译了可执行文件。我还在没有安装(默认).NET Framework 3.5的干净(目标)Win7计算机上安装了SP20运行时,并部署了exe。 到那台机器。

重新编译的应用程序在开发机上运行良好,但是当我尝试将报表数据源设置为数据集时,却在目标计算机上抛出了CrystalDecisions.CrystalReports.Engine.DataSourceException。

例外是:

 CrystalDecisions.CrystalReports.Engine.DataSourceException:无法加载数据库信息。
 文件CrystalReportTestDataSource2 1644_3060_ {1108FCDC-369F-4AC0-ABAD-C87AC56673BD} .rpt中的错误:
 加载数据库信息失败。  ---> System.Runtime.InteropServices.COMException(0x800002CD):无法加载数据库信息。
 文件CrystalReportTestDataSource2 1644_3060_ {1108FCDC-369F-4AC0-ABAD-C87AC56673BD} .rpt中的错误:
 加载数据库信息失败。
    在CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection处(Object oldConnection,Object newConnection,Object parameterFields,Object crDBOptionUseDefault)
    在CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val,Type type)
    在CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val,Type type)
    ---内部异常堆栈跟踪的结尾---
    在CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
    在CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val,Type type)
    在CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet)

 

下面是相关代码(已删除错误处理行)。 所有涉及的文件(.RPT,.XSD和.XML)都在它们的位置,并且代码检查了它们的位置

 ReportDocument crReportDoc = new ReportDocument();
 crReportDoc.Load(reportFileName);
 DataSet ds = new DataSet();
 ds.ReadXmlSchema(xsdFileName); //成功
 ds.ReadXml(xmlFileName,XmlReadMode.InferSchema); //成功
 crReportDoc.SetDataSource(ds); //###抛出DataSourceException(仅在干净的机器上)###
 

任何帮助将不胜感激! (我试图找到答案/解决方案,但未成功)

葫芦娃快救爷爷
5楼-- · 2020-09-24 09:39

我修复了WIKI,SP 21确实支持3.5及更高版本。

空代码
6楼-- · 2020-09-24 09:20

我为Visual Studio 2010-2017安装了SAP Crystal Reports Developer 13.0.21,它在我的系统中可以正常工作。

当我在客户端系统中安装适用于.NET Framework 4(32位)的Crystal Reports运行时引擎时,它显示查看器工具,但不显示report1.rpt文档。

它显示错误:" CrystalDecisions.CrystalReports.Engine.ReportDocument"引发了异常。我正在使用VS2012和.Net 4.5

一周热门 更多>