VS 2010错过" Microsoft.ReportViewer.Common Version = 8.0.0.0"与SSRS 2012一起运行时

时间:2015-09-28 20:49:28

标签: visual-studio reporting-services ssrs-2012 report-viewer2010 report-viewer2012

我们的项目是使用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>

感谢任何帮助。

2 个答案:

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