带有本地报告的 VS 2017 - 尚未指定报告定义

VS 2017 with Local reports - The report definition has not been specified

我在 WinForms 应用程序中使用 vs2017 和 ReportViewer 14.0。我以前在以前的 VS 版本中做过这个,没有任何问题,我很惊讶为什么我这次不能做这个工作。

这是我到目前为止所做的:

string path = AppDomain.CurrentDomain.BaseDirectory + @"Reports\Report.rdlc";
rpt.LocalReport.ReportPath = path;

rpt.LocalReport.SetParameters(new ReportParameter("parTitle", Title));

rpt.LocalReport.DataSources.Add(new ReportDataSource("ds", Data));
rpt.Refresh();

当我 运行 应用程序时,表单加载但 ReportViewer 显示一条消息:尚未指定报告定义

我还尝试将构建操作设置为 EmbeddedResource 并使用:

rpt.LocalReport.ReportEmbeddedResource = "Project.Reports.Report.rdlc";

同样的结果。我什至尝试过:

Assembly a = Assembly.GetExecutingAssembly();
Stream report = a.GetManifestResourceStream("Project.Reports.Report.rdlc");
rpt.LocalReport.LoadReportDefinition(report);

没有区别。我总是得到这个:

我已经盯着这个看了好几个小时了,我这辈子都不知道自己做错了什么。任何帮助将不胜感激。

谢谢。

我现在觉得自己很傻,但是为了给遇到同样问题的人一个参考,我在这里发布了解决方案。

改变

rpt.Refresh();

rpt.Refresh报告();

成功了。报告现在可以正确加载。 Refresh继承自Control,只使控件失效,不强制处理和渲染报表。 RefreshReport 就是这样做的。

希望这可以节省一些时间。