Microsoft ASP.NET ReportViewer分析器错误
我在一个网站上使用MS ReportViewer组件已经有一段时间了,但最近我遇到了如下所示的错误 分析器错误消息:基类 包括字段“xyz”,但其 类型 (Microsoft.Reporting.WebForms.ReportViewer) 与的类型不兼容 控制 (Microsoft.Reporting.WebForms.ReportViewer)Microsoft ASP.NET ReportViewer分析器错误,asp.net,reportviewer,Asp.net,Reportviewer,我在一个网站上使用MS ReportViewer组件已经有一段时间了,但最近我遇到了如下所示的错误 分析器错误消息:基类 包括字段“xyz”,但其 类型 (Microsoft.Reporting.WebForms.ReportViewer) 与的类型不兼容 控制 (Microsoft.Reporting.WebForms.ReportViewer) 现在,我在VisualStudio和生产中都遇到了这个错误。我在生产中安装了ReportViewer可再发行版 我是不是因为某种原因在我的项目中
现在,我在VisualStudio和生产中都遇到了这个错误。我在生产中安装了ReportViewer可再发行版
我是不是因为某种原因在我的项目中遗漏了一个参考资料 我发现了答案:不知何故,对Microsoft.Reporting.WebForms版本9的引用被切换到了版本8。这导致了错误。因此,删除引用并添加正确版本的引用似乎解决了问题 编辑: 根据.vbproj文件的早期版本,它是对9的引用,尽管项目引用属性屏幕告诉我是8。简言之,我不确定是什么把事情搞砸了,但它现在似乎起作用了
如果有人经历过这种情况或有一些见解,请发表意见。有同样的问题。使用SQL Server 2005和SQL Reporting清理Windows 2008 Server安装。服务器托管该站点。已安装ReportViewer 2008 SP1。Web.config引用了9.0.0.0版 出现相同的错误消息:基类包含字段,但其类型(Microsoft.Reporting.WebForms.ReportViewer)与控件类型(Microsoft.Reporting.WebForms.ReportViewer)不兼容 在网上搜索,很多人都遇到了同样的问题。有些人建议手动编辑项目文件。 我通过在解决方案资源管理器->[Web项目名称]->References->Microsoft.Reporting.WebForms->Properties中设置Specific Version=True(Version=9.0.0.0)来修复它
在其中一个环境中,我们还在web bin文件夹中找到了Microsoft.Reporting DLL。而且,它们与在GAC中注册的DLL相冲突。删除dll解决了这个问题。在干净的安装之后,我的项目没有编译,因为对dll的引用被破坏了,所以我删除了它并再次添加了它,然后使用ReportViewer的网页出现了一个解析器错误:
基类包含字段“rprtReportsViewer”,但其类型(Microsoft.Reporting.WebForms.ReportViewer)与控件类型(Microsoft.Reporting.WebForms.ReportViewer)不兼容。
我在网页上发现一个版本号与我刚才添加的版本号不同的参考:
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
然后,我在解决方案中搜索了“Microsoft.ReportViewer”,并在compilation.config中找到了更多参考:
<add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>
我在这里也更改了版本号,它停止了错误您可能还需要从\bin文件中删除:
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
我只是将它们移动到一个子目录中。我在生产服务器上遇到了这个问题。我安装了正确版本的ReportViewer,并确保项目中的所有引用都指向正确版本。然而,我仍然有错误 最终,我通过转到“临时ASP.NET文件”并删除我的应用程序的文件,解决了这个问题。要执行此操作,您需要先停止应用程序。这就解决了问题。在开发服务器上,我没有遇到这个问题,因为在安装ReportViewer后,我重新启动了机器 希望这对别人有帮助。在解决这个特殊的“挑战”之前,我做了很多工作。参考->(Microsoft.ReportViewer.WebForms),单击鼠标右键 指定版本选项时,将其保留为false
之后,只需保存并再次运行。检查页面rdlc版本,如
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
我遇到了同样的错误。对我来说,有效的方法是删除引用Microsoft.ReportViewer.WebForms并再次添加它。但请告诉我您是如何从asp.net应用程序中删除引用的?
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>