Crystal Reports“Class not registered”WPF

时间:2011-07-26 04:15:30

标签: wpf crystal-reports

我有一个闪亮的WPF(4.0)应用程序,我需要添加Crystal Reports。我为VS2010下载并安装了CR,之后我们购买并安装了Crystal Reports 13(其中包含WPF CrystalReportsViewer)。

作为测试,我在Visual Studio中创建了一个新的“Crystal Reports WPF应用程序”项目。我创建了一个报告,将其链接到我的数据库(Sql Server),并预览了报告。一切都很好。

然后我将CrystalReportsViewer窗口复制到我的“真实”应用程序(相同的机器和框架)中,添加了相同的引用并尝试运行相同的代码:

        ReportDocument _report;
        this._report = new ReportDocument();
        this._report.Load(@"CrystalReport1.rpt");
        this.reportViewer.ViewerCore.ReportSource = _report;

然而,在我的“真实”应用程序中,它在第二行突然爆炸,出现错误:

    Retrieving the COM class factory for component with CLSID 
{4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} failed due to the following error: 
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
  • 我已经检查过两次和三次检查两个项目中的引用是否相同。
  • 我经历了所有模糊的项目和解决方案属性。
  • 我已经为项目添加了一个新的Crystal Report,因此它会以这种方式而不是手动添加引用。
  • Google表示“确保框架是框架4而不是框架4客户端配置文件”。谷歌还说“确保框架是框架4客户端配置文件而不是框架4”。我试过两个都没有用。
  • 产品已注册。

我还能做什么?我不想将整个项目添加到测试应用程序中!

我从第3版开始就一直在使用Crystal Reports,而在任何版本中都没有使用它,它已经干净地安装,注册,构建报告,将它们添加到应用程序并进行部署。您认为在13个版本之后,他们要么能够做到正确,要么我的各个雇主会选择其他报告工具!

2 个答案:

答案 0 :(得分:1)

知道了。在配置中,需要将一个解决方案从“任何CPU”更改为“x86”。

答案 1 :(得分:1)

安装独立的x64和x86软件包为我解决了这个错误。