ASP.NET 4.0中的报表查看器控件和RDLC报表的安全性错误

jsk*_*zos 12 reportviewer rdlc dynamic-rdlc-generation

使用ASP.NET 4.0,我通过实例化a Microsoft.ReportingServices.RdlObjectModel.Report,设置Code属性并使用the返回流来创建RDLC流RdlSerializer.

然后我将该流传递给ReportViewer,如下所示:

ReportViewer1.LocalReport.LoadReportDefinition(rdlcStream);
Run Code Online (Sandbox Code Playgroud)

如果我没有设置Code属性,我没有收到任何错误,报告显示正确,但是当我Code为需要自定义代码的报告设置属性时,我得到了下面提到的'RequestMinimum' is obsolete错误.

编译表达式时发生意外错误.本机编译器返回值:'[BC40000]'RequestMinimum'已过时:'程序集级声明式安全性已过时,默认情况下不再由CLR强制执行.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=155570.'.'.

在winforms应用程序中使用Report Viewer控件不会发生此错误.

有没有人见过/解决过这个问题?

Fid*_*zco 5

我不确切地知道这个错误的原因,但根据我的经验,它与一个简单的副本相关,并从结果表中的一个单元格到另一个单元格的表达式过去,所有这些都在布局和组中进行了更改之后.

我建议您删除任何表达式或公式,验证您的报表是否在没有任何错误消息的情况下执行,并一对一地重写所有表达式和公式,检查报表正确打开的每个公式.

这对我有用.