Outro dia me deparei com a seguinte exception ao renderizar um report local:
The Hidden expression for the subreport ‘<DataSetName>’ contains an error: Request for the permission of type ‘System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’ failed.
Quando processamos um report localmente (leia: fora do Reporting Services) e o Report Viewer carrega uma expressão associada com um assembly, é criado um sandboxed Application Domain (AppDomain) na memória. Esse AppDomain é criado com um conjunto de restrições de segurança.
Para atribuir mais permissões para este Sandboxed Application Domain é possível utilizar o método ‘SetBasePermissionsForSandboxAppDomain’ para alterar o cunjunto de restrições de segurança atuais.
A chamada de método abaixo deve alterar esse conjunto de permissões e elevar o nível de segurança do Sandboxed Application Domain.
myReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(new PermissionSet(PermissionState.Unrestricted));
FH
Referências: