我在最近升级的项目中遇到以下错误:
报告定义具有无效的目标命名空间' http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition'无法升级的。
如果我重新开始并添加新报告,我仍然会收到此错误消息。这是在Web窗体中运行的本地报表。该网站编译为.NET 4.5。无论我使用的是ReportView版本9,10或11,我都会收到此错误。
Web表单包含:
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
Web.config包含:
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
<httpHandlers>
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</httpHandlers>
.rdlc中的报告标记:
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
答案 0 :(得分:2)
这是我发现有效的修复方法。将报告升级为报告查看器的版本10,因此使用所有版本10程序集和引用。
然后在web.config中将以下内容添加到system.webServer:
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
完成此操作后,我的报告有效。