System.Security.Policy.Evidence.AddHostEvidence: 类型参数 'System.Security.Policy.Zone' 违反了类型参数 'T' 的约束
System.Security.Policy.Evidence.AddHostEvidence: type argument 'System.Security.Policy.Zone' violates the constraint of type parameter 'T'
我正在尝试使用 .NET6 在 blazor 服务器项目中创建 rdlc 报告,然后 this blog guide 布局完美但呈现报告时我遇到了这个错误。
System.Security.Policy.Evidence.AddHostEvidence: type argument 'System.Security.Policy.Zone' violates the constraint of type parameter 'T'.'
执行时出现此错误LocalReport report = new LocalReport(pathToRdlc);
我进行了搜索,但没有任何帮助。错误是 reported on github 几天前,但还没有解决方案。
这里是 github 上使用上述相同指南的示例项目。
我找到了这个 nuget 包 Microsoft.ReportViewer.NETCore
和 Github repository as my alternative solution. its almost same implementation as detailed in this blog here
但是对于 nuget 包,get 方法的实现如下所示。它使我免于上述错误,希望对您也有帮助。
string reportName="TestReport";
string reportPath =Path.Combine(webHostEnvironment.ContentRootPath,"ReportFiles", "SampleReport.rdlc"); //or webHostEnvironment.WebRootPath if your report is in wwwroot folder
Stream reportDefinition; // your RDLC from file or resource
//IEnumerable dataSource; // your datasource for the report
using var fs = new FileStream(reportPath, FileMode.Open);
reportDefinition = fs;
LocalReport report = new LocalReport();
report.LoadReportDefinition(reportDefinition);
report.DataSources.Add(new ReportDataSource("source", dataSource));
report.SetParameters(new[] { new ReportParameter("parameter1", "RDLC Sample Report ") });
byte[] pdf = report.Render("PDF");
fs.Dispose();
return File(pdf, "application/pdf", reportName + ".pdf");
我也在使用包 AspNetCore.Reporting,但在将我的解决方案更新到 .net 6 后遇到了同样的问题。
我更改为 ReportViewer.NETCore 并解决了问题。
我正在尝试使用 .NET6 在 blazor 服务器项目中创建 rdlc 报告,然后 this blog guide 布局完美但呈现报告时我遇到了这个错误。
System.Security.Policy.Evidence.AddHostEvidence: type argument 'System.Security.Policy.Zone' violates the constraint of type parameter 'T'.'
执行时出现此错误LocalReport report = new LocalReport(pathToRdlc);
我进行了搜索,但没有任何帮助。错误是 reported on github 几天前,但还没有解决方案。
这里是 github 上使用上述相同指南的示例项目。
我找到了这个 nuget 包 Microsoft.ReportViewer.NETCore
和 Github repository as my alternative solution. its almost same implementation as detailed in this blog here
但是对于 nuget 包,get 方法的实现如下所示。它使我免于上述错误,希望对您也有帮助。
string reportName="TestReport";
string reportPath =Path.Combine(webHostEnvironment.ContentRootPath,"ReportFiles", "SampleReport.rdlc"); //or webHostEnvironment.WebRootPath if your report is in wwwroot folder
Stream reportDefinition; // your RDLC from file or resource
//IEnumerable dataSource; // your datasource for the report
using var fs = new FileStream(reportPath, FileMode.Open);
reportDefinition = fs;
LocalReport report = new LocalReport();
report.LoadReportDefinition(reportDefinition);
report.DataSources.Add(new ReportDataSource("source", dataSource));
report.SetParameters(new[] { new ReportParameter("parameter1", "RDLC Sample Report ") });
byte[] pdf = report.Render("PDF");
fs.Dispose();
return File(pdf, "application/pdf", reportName + ".pdf");
我也在使用包 AspNetCore.Reporting,但在将我的解决方案更新到 .net 6 后遇到了同样的问题。 我更改为 ReportViewer.NETCore 并解决了问题。