使用CrystalDecisions.ReportAppServer.Utilities.Conversion时出现COM错误

时间:2013-03-13 16:46:25

标签: crystal-reports crystal-reports-server

我的代码:

var utility = new CrystalDecisions.ReportAppServer.Utilities.Conversion();
var ortpstring = utility.ToString(orpt);

我收到以下错误:

{System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {08497EE6-2ABB-4E1A-A41E-37D2C26E72B6} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
   at CrystalDecisions.ReportAppServer.Utilities.Conversion.ToString(ISCDReportClientDocument m_rptClientDoc)
   at eSiteWeb.frmViewer2.InitializeCrystalReportRAS() in c:\Users\rarch\Development\Amsi-v7.5.2\Product\Production\eSiteWeb\frmviewer2.aspx.cs:line 203}

我正在使用Unmanaged RAS 2012 Embedded。文档似乎表明这是受支持的。

有谁知道为什么我得到的除了显而易见的外。我错过了什么.dll / feature?

1 个答案:

答案 0 :(得分:0)

在黑暗中拍摄,但是,如果服务器是64位,则在服务器上的IIS管理器中,确保为Web应用程序设置应用程序池以允许32位程序集。虽然它已部署到64位系统,但并不意味着所有引用的程序集都是64位Crystal Reports程序集,因为它们主要是旧版DLL集合的包装器,其中一些是32位。

为此,您还需要将32位可再发行组件部署到64位服务器(因此需要同时安装64位和32位)。