7

我正在使用 Visual Studio 2010 并安装了“Microsoft Report Viewer 2012 Runtime”,希望在 SQL 2012 中测试新的报告系统。之后,我从我的 Web.config 中清除了对“Microsoft.ReportViewer.WebForms”的引用并删除了 ReportViewer从我的工具箱中控制并添加新版本 11 ReportViewer。

我将新控件添加到测试页面,其中一个它将此寄存器添加到测试页面:

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

并将这些条目添加到 Web.config:

<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>

<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
</httpHandlers>

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

工具箱中的控件是版本 11 的添加,但系统一直在尝试引用 verion 10 版本。此外,当我尝试编译它时,我得到了错误:

The type 'Microsoft.Reporting.WebForms.ReportViewer' exists in both 'c:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\10.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll' and 'c:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WebForms.DLL'
4

4 回答 4

16

我想我有完全相同的问题。如果是这样,我的解决方案是删除 web.config 中引用 ReportViewer 的所有条目,然后在 References 中执行相同操作,构建项目,然后在页面中重新添加一个 reportviewer。

web.config 将使用新版本的新处理程序和程序集进行更新。

于 2012-10-09T16:43:52.440 回答
0

我遇到了同样的错误,并通过执行以下操作解决了它:

  • 在 aspx 页面(HTML 代码)中,更新了 @Register Version 值以对应于我正在使用的程序集版本,并使用程序集的正确值更新了 PublicKeyToken 值。
于 2013-05-23T19:57:24.210 回答
0

在您的网络配置中,这意味着您已经指定了 v 10 和 11 dll。删除一个或另一个。

于 2013-07-30T15:58:24.040 回答
0

我已经从 package.config 中删除了以下条目并且它有效

  <package id="MicrosoftReportViewerWebForms_v10" version="1.0.0" targetFramework="net45" />
于 2015-08-04T10:04:50.060 回答