我們有一個WPF應用程序,編寫於.NET 3.5使用Visual Studio 2010。該解決方案由8個項目組成 - 全部編譯於.NET 3.5。該應用程序使用Crystal Report。目標操作系統是Windows 7.NET Framework 4.0中的Crystal Report
近日,啓動項目在.NET 4.0編譯由於一些第三方DLL的依賴 - 這些DLL需要.NET 4.0。在此更改並重建解決方案之後,Crystal Report引發異常。
問題發生在構造函數ReportClass
。
異常的消息:
The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
的InnerException的消息:
"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))."
我沒有在水晶報表工作過。造成這個問題的原因是什麼?
請注意,編譯爲.NET 3.5時不會發生此問題。 Crystal Report用於啓動項目。
您是否需要將Crystal Reports DLL註冊爲COM對象? – zeencat
我認爲你需要使用.net 4.0構建所有的項目,不知道爲什麼現在。 – lex87
@ zeencat:不知道你是什麼意思。我沒有在3.5中註冊DLL。 – Donotalo