尝试加载Crystal Reports运行时时出现错误

时间:2013-10-10 03:36:10

标签: c# asp.net .net crystal-reports windows-server-2008-r2

我已经在内部网站上工作了很长一段时间,为客户维护它。 除了一些错误,该网站正在按预期工作。

然而,突然之间,出现了有问题的错误。这从未发生过。

以下是我们使用的软件:

  • Windows Server 2008 R2,64位
  • Visual Studio 2005作为首选IDE
  • 网站的ASP.net / C#
  • .NET 2.0
  • IIS,用于托管网站。
  • CrystalReport10,它会出现(从图片中)。

现在,我已对此做了一些研究,很多人建议重新构建/发布网站为 x86 而不是任何CPU ,以及很多人们还建议重新安装64位CR等等。

但同样,这种情况从未发生过,实际上很少有人篡改服务器。我认为网站没有理由使用' 混合平台'早在我的时间之前,就会突然停止在部署的操作系统上运行,也就在我的时间之前。由于没有其他人使用该服务器,它怎么会突然产生这样的错误?它不像有人可以去那里卸载东西 - Windows Update,也许?

这是我在C:\ Windows \ Assembly中找到的操作系统的屏幕截图:

Windows Server 2008

奇怪的是,我在我的本地测试开发PC上找到了相同的东西,为我正在处理的另一个程序添加了一些版本13部分。该网站在我的本地测试开发工作正常。在实时服务器上,它没有。在我假设我可能有一些必要的服务器没有之前,我也让自己记住,现场服务器上的任何东西已经存在了一段时间 - 而且错误现在才开始发生。

以上是错误:

  

' /'中的服务器错误应用

     

尝试加载Crystal Reports时发生错误   运行时。

     

Crystal Reports注册表项权限不足   或者Crystal Reports运行时未正确安装。

     

请安装相应的Crystal Reports可再发行组件   (CRRedist * .msi)包含正确版本的Crystal Reports   需要运行时(x86,x64或Itanium)。请去   http://www.businessobjects.com/support了解更多信息。   描述:执行期间发生未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:   CrystalDecisions.CrystalReports.Engine.LoadSaveReportException:An   尝试加载Crystal Reports时发生错误   运行时。

     

Crystal Reports注册表项权限不足   或者Crystal Reports运行时未正确安装。

     

请安装相应的Crystal Reports可再发行组件   (CRRedist * .msi)包含正确版本的Crystal Reports   需要运行时(x86,x64或Itanium)。请去   http://www.businessobjects.com/support了解更多信息。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[LoadSaveReportException:尝试时发生错误   加载Crystal Reports运行时。

     

Crystal Reports注册表项权限不足   或者Crystal Reports运行时未正确安装。

     

请安装相应的Crystal Reports可再发行组件   (CRRedist * .msi)包含正确版本的Crystal Reports   需要运行时(x86,x64或Itanium)。请去   http://www.businessobjects.com/support了解更多信息。]
  CrystalDecisions.CrystalReports.Engine.ReportDocument.CheckForCrystalReportsRuntime()   +379 CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()+248

     

[TypeInitializationException:类型初始值设定项   ' CrystalDecisions.CrystalReports.Engine.ReportDocument'扔了一个   例外]
  CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()+ 0
  pages_reports_ApplicationHistoryRpt.GenerateReport()+ 163 3   System.Web.UI.WebControls.Button.OnClick(EventArgs e)+115
  System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串   eventArgument)+140
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler   sourceControl,String eventArgument)+29
  System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)   2981

     

----------------------------------------------- ---------------------------------版本信息:Microsoft .NET Framework版本:2.0.50727.5448;   ASP.NET版本:2.0.50727.5420

我希望有人能帮助我。

感谢。

5 个答案:

答案 0 :(得分:6)

您是否尝试进入IIS并在运行该网站的应用程序池的高级设置中将“启用32位应用程序”设置为“True”?

我必须为我在Web应用程序中引用的Crystal Reports 2008(12.0.2000.0)版本执行此操作,因为Crystal运行时本身只有32位。

答案 1 :(得分:1)

如果您在x86模式下部署应用程序将正常工作。我已经遇到过这个问题。

也应该有.NET框架而不是.NET Client Framework。

答案 2 :(得分:0)

我建议:

祝你好运!

答案 3 :(得分:0)

将C#.Net Web应用程序从Windows 2003迁移到2012时,我遇到了同样的错误。

检查系统是否安装了Adobe Reader。安装Adobe Reader后,Web应用程序开始显示报告。

答案 4 :(得分:0)

我刚刚在项目属性中检查了 prefer 32 bit > Build 它奏效了

enter image description here