报告查看器配置从vs 2008升级到vs 2013时出错

时间:2016-04-19 16:53:20

标签: c# asp.net .net webforms reportviewer

我被分配了将我们的网站从VS 2008升级到VS 2013的任务。我在途中遇到了几个绊脚石。我已将项目从.Net 2.0升级到4.0,并且网站运行正常,但我在尝试查看报告时遇到以下错误(报告本身不显示):

报告查看器配置错误

  

报表查看器Web控件HTTP处理程序尚未注册   应用程序的web.config文件。添加到system.web / httpHandlers   web.config文件的一部分,或添加到system.webServer / handlers   Internet Information Services 7或更高版本的部分。

某些报告已通过在VS 2013中选择报告进行转换,然后询问您是否要将此报告转换为最新的RDLC格式?我打得好,看起来很好。所有报告都会发生此错误。升级后的那个或我从未在VS 2013中打开的那个。我还从Report Viewer 2008升级到Report Viewer 2010.我试图在错误中添加Web.config建议。我尝试了两个条目,我也单独尝试了每个条目。似乎没有什么能解决这个问题。网站上的其他所有工作正常。

有人有什么建议吗?我是否需要将Report Viewer升级到更高版本?我愿意尝试任何事情让它发挥作用。感谢。

1 个答案:

答案 0 :(得分:0)

查看使用报表查看器的我的 VS 2013项目,我正在使用此报表查看器NuGet包(如packages.config文件中所示):

<package id="MicrosoftReportViewerWebForms" version="11.0.0.0" targetFramework="net45" />

然后在我的web.config中,我有这两个相关部分:

<system.web>
    <compilation debug="true" targetFramework="4.5">
        <buildProviders>
            <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
        </buildProviders>
    </compilation>
</system.web>

<system.webServer>
    <handlers>
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </handlers>
</system.webServer>

最后,我必须在服务器上安装ReportViewer。这涉及ReportViewer.msiSQLSysClrTypes.msi。不幸的是,虽然我的机器上仍然有两个,但我不确切知道下载它们的URL。

对于ReportViewer,我尝试过来自Microsoft的Report Viewer 2012 Runtime,但它不是我所拥有的二进制匹配。尽管如此,这似乎是正确的,我的只是过时了。我从那开始。

对于SQLSysClrTypes.msi,它基本上是相同的情况。您可以从Microsoft® SQL Server® 2012 SP1 Feature Pack获取它,但它与我使用的不完全匹配。再次,希望它刚刚更新。