1

私のコード:

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/機能は何ですか?

4

1 に答える 1

0

暗所で撮影しましたが、サーバーが 64 ビットの場合は、サーバーの IIS マネージャーで、Web アプリケーションのアプリケーション プールが 32 ビット アセンブリを許可するように設定してください。これは 64 ビット システムに配置されていますが、参照されているすべてのアセンブリが 64 ビットの Crystal Reports アセンブリであることを意味するわけではありません。これらのアセンブリは主に、一部が 32 ビットのレガシー DLL のコレクションに対するラッパーであるためです。

これを行うには、32 ビット再頒布可能ファイルを 64 ビット サーバーに展開する必要もあります (したがって、64 ビットと 32 ビットの両方をインストールする必要があります)。

于 2013-03-24T10:47:54.997 に答える