如何解决 Crystal Report 版本冲突并使其并行工作? [英] How to resolve Crystal Report version conflict and make them work side-by-side?

查看:40
本文介绍了如何解决 Crystal Report 版本冲突并使其并行工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have VS-2005 and VS-2010 installed. As Crystal Reports is available as a separate download for VS-2010, I downloaded it and installed. My old projects were in VS-2010 which uses Crystal Reports version 10.0. New projects are in VS-2010 whose Crystal Reports version is 13.0.

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

I made a small application in VS-2010 with a single report. When I try to run this project, it displays errors:

The type 'CrystalDecisions.Web.CrystalReportViewer' exists in both 'c:WindowsassemblyGAC_MSILCrystalDecisions.Web10.2.3600.0__692fbea5521e1304CrystalDecisions.Web.dll' and 'c:WindowsassemblyGAC_MSILCrystalDecisions.Web13.0.2000.0__692fbea5521e1304CrystalDecisions.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:WindowsassemblyGAC_MSILCrystalDecisions.CrystalReports.Engine13.0.2000.0__692fbea5521e1304CrystalDecisions.CrystalReports.Engine.dll.

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

I can't uninstall old Crystal Reports (i.e., version 10). How to make these work side-by-side and what changes are required in GAC and web.config files.

推荐答案

这是一个已知的水晶报表的问题.它不适用于 GAC 中的并行版本.

This is a known issue with Crystal Reports. It doesn't do well with side-by-side versions in the GAC.

来自 SAP:

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

As each version of Crystal Reports has its' own specific runtime which must be correctly deployed, it is critical that the deployed runtime be in agreement with the Crystal Reports assemblies for Visual Studio .NET referenced in your project.

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

Use gacutil /u /f to forcefully uninstall the older Crystal Reports assemblies.

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

If it doesn't let you must uninstall Crystal Reports for Visual Studio 2005.

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

You can still keep side-by-side projects by copying the assemblies to a shared folder (e.g. '..3rdParty10.5.3700.0' and do a file reference to that folder instead of the GAC. The trick is to copy the Crystal Reports assemblies from the GAC via commnadline:

> copy c:WINDOWSassemblyGAC_MSILCrystalDecisions.CrystalReports.Engine10.5.3700.0__692fbea5521e1304CrystalDecisions.CrystalReports.Engine.dll c:dev3rdParty10.5.3700.0

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

To discover which assemblies are deployed:

gacutil /l

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

Then you simply uninstall the copied assemblies from the GAC.

这篇关于如何解决 Crystal Report 版本冲突并使其并行工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆