我们的项目是使用VS 2010构建的,报告是使用SSRS 2005构建的,并且在这种环境下工作正常。 我们正在尝试迁移到SSRS 2012.在运行时我们收到此错误
'Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
我复制了文件" MicrosoftReportViewerCommon.dll"到bin文件夹,但其版本是10.0.x.x.我不知道如何找到版本8.0.0.0。
我不确切知道应该做些什么。它应该将此文件添加到项目中吗?或者应该更改项目中的引用以引用另一个文件版本?以及如何做到这一点??
在网络表单中,我们有以下代码:
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
并在web.config中:
<system.web>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false" />
</httpHandlers>
......
</system.web>
<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>
</system.webServer>
感谢任何帮助。
答案 0 :(得分:2)
在搜索网络2天后,我想出了如何克服这个错误。 我必须安装ReportViewer 2005,此安装程序将自动在GAC中注册“Microsoft.ReportViewer.Common Version = 8.0.0.0”。
我被告知这不是一个好的做法,它只是一种解决方法,因为项目没有使用最新的控件运行,而且它仍然使用旧的。
目前该项目工作正常,但我希望有些机构能为我提供真正的解决方案。
答案 1 :(得分:1)
我遇到类似的问题,发现我需要三个文件:
Microsoft.ReportViewer.Common.dll Microsoft.ReportViewer.ProcessingObjectModel.dll Microsoft.ReportViewer.WebForms.dll
配置文件看起来像这样:
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<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>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>