2011-09-13 133 views
1

所以我有一个页面,假设显示各种报告。这工作正常,当我运行与旧报告的应用程序。但是,当我运行应用程序与新版本的报告,我得到这个错误。如何解决asp.net运行时错误

 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。

我已经保存在我的web.config,因为我与水晶报表使用引用的版本是:

<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.Extentions.dll。

所以我想知道的是,我的应用程序究竟有什么问题,我该如何纠正这个问题。

+0

您是否在调整csproj内容时修改了目标框架版本?这可能会导致无法加载System。* DLL。 –

回答

3

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

如果以前的开发人员说要手动修改.csproj,那么它有理由说你要么有错误的版本,要么你有多个版本,并且它在某处变得困惑。

0

当我的应用程序加载相同的程序集两次时,我有类似的错误消息。我想我们正在使用CAB来加载程序集。在某些时候,程序集CAB列表需要加载每个程序集两次,一次是8.3文件名格式,一次是长文件名格式。 CAB认为他们是不同的集会并且加载他们两个。我不记得那是怎么发生的。但是当我们确定上述问题消失后。

相关问题