Crystal Reports布局迁移

2020-08-21 06:43发布

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

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


我们现在正在尝试将客户端移至Win 10,并拥有一个由于CR而无法加载的软件包。 我找不到CR 13.0.35 Redist来加载它,并且一位CR技术人员告诉我,我的旧CR模块始终与Win 10不兼容。

该桌面应用程序是用Visual Studio 17编写的,最后一个起作用的CR版本似乎是13.0.35(因为配置中存在重定向)。

我知道我必须升级源代码。 我现在正在使用VS2019,但无法加载源代码! 我的客户很着急,所以我下载了Visual Studio 2017,并下载了指定用于2017的CR的新副本(希望与Win 10版本兼容,并且确实以" admin"身份安装)。然后我将源 in.At 至少可以运行,但是我遇到了CR问题。

安装版本:社区

Visual C ++ 201700369-60000-00001-AA815

Microsoft Visual C ++ 2017

Visual Studio Package8.14.20131.1的Application Insights工具

Visual Studio的Application Insights工具

ASP.NET 和Web工具201715.9.04012.0

ASP.NET 和Web Tools 2017

首先,源的配置文件中有一个从CR 13.0.20重定向到13.0.35的子句。这导致"无法解析对CR13.0.35的引用"。

日志:在应用程序配置文件中找到重定向:13.0.2000.0重定向到13.0.3500.0。

日志:政策后参考:CrystalDecisions.CrystalReports.Engine,版本= 13.0.3500.0,文化=中性,PublicKeyToken = 692fbea5521e1304

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.CrystalReports.Engine.DLL。

WRN:比较程序集名称会导致不匹配:内部版本号

ERR:无法完成装配的设置(hr = 0x80131040)。 探测终止。

我查看了CR DLL,它们被标识为13.0.2600。

我将配置中的redirect子句更改为:

(仅删除重定向无效!)

一旦进行了此更改,代码将一直运行,直到尝试生成报告为止。 错误有所不同。现在,它至少尝试拉入CR报告设计文件,但立即崩溃。

日志:使用来自C:\ Windows \ Microsoft.NET \ Framework \ v4的计算机配置文件 .0.30319 \ config \ machine.config。

日志:政策后参考:CrystalDecisions.ReportAppServer.CommLayer,版本= 13.0.2000.0,文化=中性,PublicKeyToken = 692fbea5521e1304

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer.DLL。

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer/CrystalDecisions.ReportAppServer.CommLayer.DLL。

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer.EXE。

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer/CrystalDecisions.ReportAppServer.CommLayer.EXE。

第二个线索:

在VS设计区域中,如果我尝试打开CR报告布局,则无法打开它。 我得到以下。

有人可以告诉我我在这里面对的是什么吗? 如何将旧的CR"内容"转换为新的VS和CR环境? 我已经在Google上搜索并查看了CR论坛,但发现的解决方案并未阐明或起作用。

log.jpg (28.6 kB)

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

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


我们现在正在尝试将客户端移至Win 10,并拥有一个由于CR而无法加载的软件包。 我找不到CR 13.0.35 Redist来加载它,并且一位CR技术人员告诉我,我的旧CR模块始终与Win 10不兼容。

该桌面应用程序是用Visual Studio 17编写的,最后一个起作用的CR版本似乎是13.0.35(因为配置中存在重定向)。

我知道我必须升级源代码。 我现在正在使用VS2019,但无法加载源代码! 我的客户很着急,所以我下载了Visual Studio 2017,并下载了指定用于2017的CR的新副本(希望与Win 10版本兼容,并且确实以" admin"身份安装)。然后我将源 in.At 至少可以运行,但是我遇到了CR问题。

安装版本:社区

Visual C ++ 201700369-60000-00001-AA815

Microsoft Visual C ++ 2017

Visual Studio Package8.14.20131.1的Application Insights工具

Visual Studio的Application Insights工具

ASP.NET 和Web工具201715.9.04012.0

ASP.NET 和Web Tools 2017

首先,源的配置文件中有一个从CR 13.0.20重定向到13.0.35的子句。这导致"无法解析对CR13.0.35的引用"。

日志:在应用程序配置文件中找到重定向:13.0.2000.0重定向到13.0.3500.0。

日志:政策后参考:CrystalDecisions.CrystalReports.Engine,版本= 13.0.3500.0,文化=中性,PublicKeyToken = 692fbea5521e1304

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.CrystalReports.Engine.DLL。

WRN:比较程序集名称会导致不匹配:内部版本号

ERR:无法完成装配的设置(hr = 0x80131040)。 探测终止。

我查看了CR DLL,它们被标识为13.0.2600。

我将配置中的redirect子句更改为:

(仅删除重定向无效!)

一旦进行了此更改,代码将一直运行,直到尝试生成报告为止。 错误有所不同。现在,它至少尝试拉入CR报告设计文件,但立即崩溃。

日志:使用来自C:\ Windows \ Microsoft.NET \ Framework \ v4的计算机配置文件 .0.30319 \ config \ machine.config。

日志:政策后参考:CrystalDecisions.ReportAppServer.CommLayer,版本= 13.0.2000.0,文化=中性,PublicKeyToken = 692fbea5521e1304

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer.DLL。

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer/CrystalDecisions.ReportAppServer.CommLayer.DLL。

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer.EXE。

日志:尝试下载新的URL文件:///C:/Horizo​​n/WSDC/WSDC_sm/WSDC_SM/bin/Debug/CrystalDecisions.ReportAppServer.CommLayer/CrystalDecisions.ReportAppServer.CommLayer.EXE。

第二个线索:

在VS设计区域中,如果我尝试打开CR报告布局,则无法打开它。 我得到以下。

有人可以告诉我我在这里面对的是什么吗? 如何将旧的CR"内容"转换为新的VS和CR环境? 我已经在Google上搜索并查看了CR论坛,但发现的解决方案并未阐明或起作用。

log.jpg (28.6 kB)
付费偷看设置
发送
6条回答
黑丝骑士
1楼 · 2020-08-21 07:05.采纳回答

程序集版本应为13.0.4000.0

删除并替换项目中的所有程序集,并使用相同的13.0.4000.0

一只江湖小虾
2楼-- · 2020-08-21 07:13
<来更新web.config或app.config。 p>另一个注意事项:为了完成这项工作,我不得不做很多手动修复。 我从库中手动删除了DLL。 然后,我使用"添加引用"来重新安装正确的引用。 那没做。 我发现我必须手动编辑.proj文件才能将其设置为正确的版本,但仍指示旧版本。 摆脱了新的编译错误,但仍然无法呈现报告。 我必须手动将CR DLL从bin/debug文件夹复制到bin/release文件夹。 然后,它起作用了。

me_for_i
3楼-- · 2020-08-21 07:14

您需要看两件事:

1。 您需要在Windows 10计算机上安装CR for VS运行时。 在Wiki页面上此处 ,其中有一些链接可以下载当前版本和较早版本到SP18。 IIRC,您至少需要SP21。 确保以管理员身份安装。 尚不安装SP 26-它需要.NET 4.0。

2。 如果您的应用程序不是Web应用程序,请在Windows 10计算机上找到.exe。 右键单击它,然后转到"故障排除兼容性"。 这样一来,您就可以将应用程序设置为就像在Windows的早期版本上一样运行,并且可以解决问题而不必立即升级代码。

-Dell

SKY徐
4楼-- · 2020-08-21 07:07

将SDK安装在装有Visual Studio的计算机上时,是否仅安装了运行时(.msi,.msm或其他非.exe文件)? 还是您安装了提供与VS集成的.exe。 运行时不应安装在开发人员工作站上,而应安装与VS的集成。 为了正确设置所有注册表项,.exe需要以"管理员身份"运行。 另外,您至少需要安装SP 25才能在VS 2019中工作。

-Dell

打个大熊猫
5楼-- · 2020-08-21 07:20

如Dell在DEV PC上安装EXE所述,您必须选择"运行方式" Administrator,以便它可以正确集成到VS中。

您还需要一个比Express版本更高的VS版本。

不要在DEV PC上安装MSI,这不是必需的,并且可以 不包括嵌入式报表设计器,可能会重新解释为什么您看到RPT文件的二进制文件。

因此,如果您正在使用SP 26进行开发但不想升级应用服务器,则可以使用重定向,但是 您需要正确执行此操作,您将重定向到同一版本:

请参阅此KBA 正确的信息:(使用Google搜索)

2719939-Visual Studio Runtime版本的Crystal Reports- 并排能力-如何处理WinFormCRViewer.zip 下载WIKI

您的重定向导致了此问题。

但是如果您使用SP 26更新Project和应用服务器,则不需要这样做。

Don

大道至简
6楼-- · 2020-08-21 06:55

我回到VS 2019,发现在2017年安装CR时,它必须在2017年更正错误。而且,现在,我可以在VS设计区域中打开CR布局。 进展。

我在将此代码导入到2019中与CR无关的其他错误中进行了研究,现在我可以运行该代码了。 但是,当我尝试呈现CR报告时,在执行过程中仍然出现错误。

FileNotFoundException:无法加载文件或程序集" CrystalDecisions.ReportAppServer.CommLayer,版本= 13.0.2000.0,Culture =中性,PublicKeyToken = 692fbea5521e1304"或其依赖项之一。 系统找不到指定的文件。

完整消息:

System.TypeInitializationException
HResult = 0x80131534
消息='CrystalDecisions.CrystalReports.Engine.ReportDocument'的类型初始值设定项引发了异常。
Source = CrystalDecisions.CrystalReports.Engine
StackTrace:< br>在CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
在CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()
在WSDC_SM.rptPO_HistoryDe​​tail..ctor()在C:\ Horizo​​n \ WSDC \ WSDC_sm \ WSDC_SM \ rptPO_HistoryDe​​tail.vb:第25行
在WSDC_SM.frmPO_Rpt_History.btnPrint_Click(Object sender,EventArgs e)在C:\ Horizo​​n \ WSDC \ WSDC_sm \ WSDC_SM \ frmPO_Rpt_History
在System:vbline: .Windows.Forms.Control.OnClick(EventArgs e)
在System.Windows.Forms.Button.OnClick(EventArgs e)
在System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
System.Windows.Forms.Control.WmMouseUp(消息&m,鼠标按钮,Int32单击)
在System.Windows.Forms.Control.WndProc(Message&m)
在System.Windows.Forms.ButtonBase.WndPro System.Windows.Forms.Button.WndProc上的c(Message&m)
WndProc(System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&m)
在System.Windows.Forms中的
System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)的.Control.ControlNativeWindow.WndProc(Message&m)
在System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW( MSG和msg)
在System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID,Int32原因,Int32 pvLoopData)
在System.Windows.Forms.Application。 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32原因,ApplicationContext上下文)的ThreadContext.RunMessageLoopInner(Int32原因,ApplicationContext上下文)
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()的ThreadContext.RunMessageLoopInner(Int32原因,ApplicationContext上下文)
在Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplica microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String [] commandLine)上的tionModel()
,WSDC_SM.My.MyApplication.Main(String [] Args)上的:line 81

内部异常1:
FileNotFoundException:无法加载文件或程序集" CrystalDecisions.ReportAppServer.CommLayer,版本= 13.0.2000.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304"或其依赖项之一。 系统找不到指定的文件。

从参考文献:

一周热门 更多>