12

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

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

以下是我们使用的软件:

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

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

但同样,这种情况以前从未发生过,很少有人真正篡改服务器。我看不出为什么该网站早在我之前就使用“混合平台”构建,会突然停止在它部署到的操作系统上运行,而且早在我之前很久。由于没有其他人使用该服务器,它怎么会突然产生这样的错误?这不像是有人可以进去卸载东西——也许是 Windows 更新?

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

视窗服务器 2008

奇怪的是,我在本地测试开发 PC 上发现了同样的东西,并为我正在开发的另一个程序添加了一些版本 13 的部分。该网站在我的本地测试开发中运行良好。在实时服务器上,它没有。在我假设我可能有一些服务器不需要的东西之前,我还让自己记住,实时服务器上的任何东西都已经存在了一段时间——而且错误现在才开始发生。

这是完整的错误:

“/”应用程序中的服务器错误。

尝试加载 Crystal Reports 运行时时出错。

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

请安装适当的 Crystal Reports 可再发行组件 (CRRedist*.msi),其中包含所需的正确版本的 Crystal Reports 运行时(x86、x64 或 Itanium)。请访问 http://www.businessobjects.com/support了解更多信息。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

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

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

请安装适当的 Crystal Reports 可再发行组件 (CRRedist*.msi),其中包含所需的正确版本的 Crystal Reports 运行时(x86、x64 或 Itanium)。请访问 http://www.businessobjects.com/support了解更多信息。

源错误:

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

堆栈跟踪:

[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
System.Web.UI.WebControls。 Button.OnClick(EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
System.Web.UI。 Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981

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

我希望有人可以帮助我。

谢谢。

4

5 回答 5

10

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

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

于 2015-02-02T15:29:35.227 回答
2

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

还应该有 .NET 框架而不是 .NET 客户端框架。

于 2013-10-10T08:05:47.390 回答
0

我建议:

祝你好运!

于 2013-10-10T16:21:44.453 回答
0

我刚刚在 Project properties > Build 中检查了喜欢 32 位,它工作

在此处输入图像描述

于 2021-04-13T08:39:52.017 回答
0

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

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

于 2017-02-28T13:24:29.620 回答