2010-10-20 55 views
0

我有一個應用程序生成一些漂亮的基本報告。我爲visual studio 2010安裝了水晶報告.net 4 beta 2,並將這些DLL複製到我的網站的bin文件夾中。在本地運行時一切正常,但當我嘗試在生產服務器上創建報告時,我得到以下異常。Crystal Reports .Net 4 Beta 2生產異常

Retrieving the COM class factory for component with CLSID 
{C0D87D96-8D57-4274-AA18-D465E31F901E} failed due to the following error: 
80040154 Class not registered (Exception from HRESULT: 0x80040154 
(REGDB_E_CLASSNOTREG)). 

這裏是堆棧跟蹤:

[COMException (0x80040154): Retrieving the COM class factory for component with CLSID  
{C0D87D96-8D57-4274-AA18-D465E31F901E} failed due to the following error: 80040154 
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).] 
CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor() +141 

[TypeInitializationException: The type initializer for  
'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.] 
CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor() +0 
view_report.UpdateReport(Object sender, EventArgs e) +120 
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118 
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112 


System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563 

我沒有做了一大堆用水晶報表所以有可能是我丟失的東西,但我不得不手動複製從DLL文件我的GAC進入我的應用程序bin文件夾,因爲我不想在生產環境中運行安裝程序。當我從web.config中刪除dll負載時,所有工作都在本地進行,因此我的站點將在Bin中查找任何其他dll,但我不知道爲什麼會出錯。

任何人有任何見解?

編輯:

我也已經安裝了部署運行在服務器上也看到,如果這是一個問題。

回答

0

那麼在聯繫水晶報告用戶在他們的論壇中,看起來你只能在你的生產機器上安裝.net 4運行庫,因爲這對我來說是不可行的,我不得不將3.5遷移到一切正常。