ReportViewer 无法在 Web 服务器上运行

ReportViewer not working on web server

上个月,我用 C# 和 VS2013 开发了一个 WebForm 应用程序。当我调试它时,它工作完美,一旦使用 .NET Framework v4.030319 在应用程序池上的 iis 7.5 服务器上发布,它也几乎完美。问题是报表查看器控件不起作用,就像这个博客:

http://blogs.msdn.com/b/webtopics/archive/2009/02/10/report-viewer-toolbar-does-not-render-properly-on-iis-7-0.aspx

或我在过去 4 天里阅读的其他 49 个博客...我尝试了建议的所有解决方案,其中 none 有效。我 100% 确定这不是因为我的报告,因为只是为了测试,我创建了一个基本报告(只是一个文本框,没有参数,没有数据源)和一个新项目,其中一页加载了这个报告,我遇到了同样的问题。

这里是 web.config 文件中的相关代码:

<system.web>
  <httpHandlers>
    <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
  </httpHandlers>
  <authentication mode="None" />
  <compilation debug="true" targetFramework="4.5">
    <assemblies>
      <add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
      <add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
      <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    </assemblies>
    <buildProviders>
      <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </buildProviders>
  </compilation>
  <httpRuntime targetFramework="4.5" />
  [...]
</system.web>
<system.webServer>
  <modules>
    <remove name="FormsAuthentication" />
  </modules>
  <validation validateIntegratedModeConfiguration="false" />
  <handlers>
    <add name="ReportViewerWebControl" 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>

是的,我也在服务器上创建了映射。有人可以帮我解决这个问题。我有点心烦意乱。

我最终通过在服务器上安装以下内容解决了这个问题:

  • dotNetFx45
  • ReportViewer 2010 可再发行
  • SQL Server 2012
  • 的 Microsoft Microsoft 系统 CLR 类型
  • ReportViewer 2012 运行时

并在之后重新启动它,即使它没有被询问。之后,报告正常显示。事实上,我没有收到任何错误消息并没有太大帮助。此外,服务器处于生产状态,因此我无法每次都重新启动它。无论如何,它现在正在工作,这是唯一重要的事情。谢谢。

对我来说,下面提到的这两个都没有重启服务器 ReportViewer 2010 可再发行 ReportViewer 2012 运行时 谢谢