【问题标题】:ReportViewer control displays blank reports after changing the DLL versionReportViewer 控件更改 DLL 版本后显示空白报告
【发布时间】:2014-12-06 06:24:10
【问题描述】:

我有一个 asp.net webforms 应用程序,Framework 4.5.1,它使用的是 ReportViewer 控件,版本 10。

我从应用程序中删除了版本 10 控件,并使用 Visual Studio 13 工具箱添加了版本 11 控件。 Visual Studio 在用户控件和 web.config 中进行了各种有据可查的插入,并且在本地主机上运行良好。

当我第一次部署该应用程序时,它立即爆炸并抱怨它找不到 Microsoft.ReportViewer.WebForms.dll,在我将其包含在部署中后,它又抱怨找不到 Microsoft.ReportViewer。 Common.dll,版本 11。

我决定将所有 v11 报表查看器 dll 复制到 Web 应用程序的 bin 文件夹(Microsoft.ReportViewer.WebForms.dll、Microsoft.ReportViewer.Common.dll、Microsoft.ReportViewer.ProcessingObjectModel.dll 和 Microsoft. ReportViewer.DataVisualization.dll)。

在包含这些 dll 后,错误消息消失了,但所有报告显示为空白(屏幕上没有错误消息,没有 Web 应用程序错误,事件查看器中没有错误或警告消息)。

部署机器上的 GAC 中没有任何 v11 报表查看器 dll,但 v10 报表查看器 dll 位于 GAC 中。我猜这可能与我遇到的问题有关。

总之,我遗漏了一些重要的部分,但缺少错误消息让我很困惑。有什么方法可以调试缺少的东西吗?

【问题讨论】:

  • 你去拿插件“frame”吗?我的意思是,控件是否加载,但没有要显示的数据(或类似于“显示第 0 页,共 0 页?) ?
  • 白色,没有报告提示。在我工作的本地主机上,报告生成一个跨度,其中包含 reportviewer 控件的 id(在本例中为“ctl00_ContentPlaceHolder1_Reports1_rptview_ReportViewer”)。在我部署到这个跨度的机器上没有生成。表单发布并没有返回任何内容。
  • 抱歉,在处理遗留代码时,我刚刚注意到在用户控件的菊花链深处,错误消息被吞噬了。错误是“无法加载文件或程序集'Microsoft.SqlServer.Types,Version = 11.0.0.0”,我将尝试将其复制到bin文件夹中,如果修复它,请留下答案。

标签: asp.net visual-studio-2013 reportviewer


【解决方案1】:

这个特定问题的答案是: 1.同时将Microsoft.SqlServer.Types.dll的v11复制到bin文件夹。 2. 检查你之前在这里工作的人是否喜欢使用 try...catch 块来吞下错误。

一旦将 v11 的 Microsoft.SqlServer.Types.dll 添加到 bin 文件夹中,报告就会正确生成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 2016-04-16
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多