【问题标题】:How to resolve Crystal Report version conflict and make them work side-by-side?如何解决 Crystal Report 版本冲突并使其并行工作?
【发布时间】:2012-03-17 10:16:06
【问题描述】:

我安装了 VS-2005 和 VS-2010。由于 Crystal Reports 可作为 VS-2010 的单独下载,我下载并安装了它。我的旧项目在使用 Crystal Reports 10.0 版的 VS-2010 中。新项目在 VS-2010 中,Crystal Reports 版本为 13.0。

我在 VS-2010 中做了一个带有单个报告的小应用程序。当我尝试运行这个项目时,它显示错误:

The type 'CrystalDecisions.Web.CrystalReportViewer' exists in both 'c:\Windows\assembly\GAC_MSIL\CrystalDecisions.Web\10.2.3600.0__692fbea5521e1304\CrystalDecisions.Web.dll' and 'c:\Windows\assembly\GAC_MSIL\CrystalDecisions.Web\13.0.2000.0__692fbea5521e1304\CrystalDecisions.Web.dll'

The indirectly-referenced assembly 'BusinessObjects.Licensing.KeycodeDecoder, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' could not be found. This assembly is not required for analysis, however, analysis results could be incomplete. This assembly was referenced by: C:\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\13.0.2000.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll.

我无法卸载旧版 Crystal Reports(即版本 10)。如何使这些并行工作以及需要在 GACweb.config 文件中进行哪些更改。

【问题讨论】:

  • 我也遇到了同样的错误,我要做的就是删除引用并从 bin 文件夹中删除水晶报表 dll...然后添加对水晶报表引擎 13.0 的引用

标签: visual-studio-2010 crystal-reports crystal-reports-10


【解决方案1】:

这是known issue 与 Crystal Reports。它不适用于 GAC 中的并行版本。

来自SAP

由于每个版本的 Crystal Reports 都有自己特定的运行时 必须正确部署,部署的运行时至关重要 与 Visual Studio 的 Crystal Reports 程序集一致 .NET 在您的项目中引用。

使用 gacutil /u /f 强制卸载旧版 Crystal Reports 程序集。

如果不允许,您必须卸载 Crystal Reports for Visual Studio 2005。

您仍然可以通过将程序集复制到共享文件夹(例如 '..\3rdParty\10.5.3700.0' 并对该文件夹而不是 GAC 进行文件引用来保留并行项目。 诀窍是通过命令行从 GAC 复制 Crystal Reports 程序集:

> copy c:\WINDOWS\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\10.5.3700.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll c:\dev\3rdParty\10.5.3700.0

要发现部署了哪些程序集:

gacutil /l

然后您只需从 GAC 中卸载复制的程序集。

【讨论】:

  • 卸载旧 Crystal Reports 程序集的完整语法是什么? VS-2005 中的旧报告是否会运行?
  • 我没有安装它,但它是gacutil /u /f CrystalDecisions.CrystalReports.Engine,使用gacutil /l 列出所有部署的程序集
  • 它会影响我的旧项目和报告吗?
猜你喜欢
  • 2018-08-29
  • 1970-01-01
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 2015-07-02
  • 2018-10-26
  • 1970-01-01
  • 2023-02-03
相关资源
最近更新 更多