如何修复asp.net运行时错误

本文关键字:运行时错误 net asp 何修复 | 更新日期: 2023-09-27 18:08:34

所以我有一个页面,应该显示各种报告。当我用旧的报告运行应用程序时,这很好。但是,当我使用新版本的报告运行应用程序时,我得到这个错误。

        ASP.NET runtime error: The base class includes the field 'reportViewer',
     but its type (CrystalDecisions.Web.CrystalReportViewer) 
    is not compatible with the type of control 
(CrystalDecisions.Web.CrystalReportViewer).

从我收集的寻找这个错误的解决方案,它与CR(水晶报告)运行不同或更新的版本有关。然而,据我所知,我没有改变或更新CR。

我已经存储在我的网页的版本。我使用crystal报告的引用配置为:

<add assembly="CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.Shared, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.ReportSource, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.Enterprise.Framework, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.Enterprise.Desktop.Report, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.CrystalReports.Engine, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.Enterprise.InfoStore, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    <add assembly="CrystalDecisions.Enterprise.Viewing.ReportSource, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

以前的开发人员给出的解决方案是手动修改.csproj文件并将版本#替换为正确的版本#,即版本12。虽然,这导致我有一个错误与VS无法找到system . web . extensions .dll。

所以我想知道的是,我的应用程序到底出了什么问题,我该如何纠正这个问题。

如何修复asp.net运行时错误

我认为第一步应该是卸载您的开发机器上的每个版本的crystal,只安装服务器上存在的完全相同的版本。

如果之前的开发人员说要手动修改。csproj,那么很明显,你要么有错误的版本,要么你有多个版本,它在某处变得混乱。

当我的应用程序两次加载相同的程序集时,我有一个类似的错误消息。我想我们是用CAB装载组件。在某些情况下,CAB需要加载的程序集列表包含每个程序集两次,一次是8.3文件名格式,另一次是长文件名格式。CAB认为它们是不同的组件,并把它们都装上了。我记不起那是怎么发生的。但是当我们解决了这个问题,上面的问题就消失了。