Crystal Reports .Net 4 Beta 2生产例外

时间:2010-10-20 14:05:32

标签: crystal-reports .net-4.0 c#-4.0

我有一个应用程序可以生成一些非常基本的报告。我为visual studio 2010安装了水晶报告.net 4 beta 2,并将DLL复制到我网站的bin文件夹中。在本地运行时一切正常,但当我尝试在生产服务器上创建报告时,我会抛出以下异常。

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

我没有做过很多关于水晶报告的内容,所以可能会有一些我遗漏的东西,但是我不得不手动将我的GAC中的DLL复制到我的应用程序bin文件夹中,因为我不想运行安装程序生产。当我从web.config中删除dll加载时,一切都在本地工作,所以我的网站会在Bin中查找任何其他dll,但我不知道为什么会出错。

任何人都有见解?

编辑:

我还在服务器上安装了部署运行时,以确定是否存在问题。

1 个答案:

答案 0 :(得分:0)

在联系水晶报告用户的论坛后,看起来你只能在你的生产机器上安装.net 4运行时,因为这对我来说是不可行的,我不得不向下迁移到3.5以使一切正常。< / p>