Visual Studio 2013报表查看器 - 报表定义具有无效的目标命名空间

时间:2014-03-13 18:54:45

标签: asp.net visual-studio reportviewer

我在最近升级的项目中遇到以下错误:

报告定义具有无效的目标命名空间' 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">

1 个答案:

答案 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>

完成此操作后,我的报告有效。