2019 年更新
我有 ReportViewer 在 Windows 上的 ASP.NET Core 上运行,大多数功能(不是 PDF 和图像/PowerPoint)也可以在 Linux 上的 ASP.NET Core 上运行。
不过,仍有一些错误需要清除。
你可以通过in this github issue了解更多。
我不能公开发布,因为 ReportViewer has a rather constricting license...
它基于 amh1979 的 AspNetCore.Reporting nuget。
您可以尝试wrapper nuget around ReportExecution.asmx,同样是 amh1979,它没有许可问题,但它不是真正的 ReportViewer。
原帖:
不,你不能。
Microsoft 只是在评估创建 .NET Core ReportViewer 控件。
这意味着目前没有(05/2017)。
ASP.NET MVC 也没有任何 ReportViewer“控件”。
MS-ReportServer 的 ReportExecution.asmx 周围只有 alanjuden's wrapper。
但这不一样。这仍然需要报表服务器上的 Windows 身份验证(以及用户必须是特定广告组的成员),以及在 Windows 上运行的 SSRS 服务器。
如果您在 Windows 上仍然有一个 SSRS-ReportServer,那么您最好将 SSRS ReportViewer.aspx 嵌入到 iframe 中。您可能希望将表单身份验证添加到您的报告服务器。另外,如果需要跨平台(=cross-browser = non-IE),则需要 SSRS >= 2016(SSRS 2005/2008R1/2008R2/2012/2014 中不提供跨浏览器)。
如果您在 Windows 上并且不希望(您的客户)必须安装特定版本的 SSRS(这意味着您必须获得 MS-SQL-Server 的许可),您可以创建一个 .NET 非IIS 上的核心 Web 应用程序(在同一域上),并共享 auth-cookie。然后,通过 iframe(或与 target=_blank 链接)在 .NET Core Web 应用程序中嵌入来自 IIS .NET 非核心应用程序的 ReportViewer。这样你就不需要 SQL-Server 许可证,如果你使用 MySQL/PostgreSQL/Oracle,也不需要 MS-SQL-Server。
除了等待,您还可以将 Apache Tomcat 与 BIRT 捆绑到您的应用程序中,use Launch4J to redistribute it with the JRE。然后,您只需使用 Eclipse-BIRT ReportDesigner 来创建 BIRT 报告(非 SSRS 报告)。
或者您可以将 JasperReports 与 JasperServer 一起嵌入。
这将比 BIRT 更难进行 bin 部署。
但我猜码头工人来救援。
Jasper 和 BIRT 的优势在于它们也可以在 Linux/Mac 上运行。
但是,这意味着您需要在服务器上安装 JRE,或者将 JRE 与您的应用程序一起进行 bin 部署。
Jasper 相对于 BIRT 的优势在于它速度更快,并且它支持竖排文本(不仅仅是在 Web 中,竖排文本不会呈现为图像)。
从他们的网站下载的 BIRT 版本通常总是存在一些问题,这些问题首先会阻止运行 BIRT。是缺少 JAVA_HOME 环境变量、缺少 .jar 依赖项或 .jar 文件中的无效签名。有关您当时机器上的内容的信息,请查阅 TOMCAT 日志文件,然后搜索问题。
BIRT 的好处在于,它相对容易进行 bin 部署。
如果你喜欢 nodeJS,另一个选择是 jsReports。
然而,没有安装和复杂性的 Bin-Deploy 将更加困难(PhantomJS、Webkit、wkHtmlToPdf - 例如在 Raspberry PI 上使用 ARM 处理器)。
如果您有几年的空闲时间,您也可以等到 SSRS 团队移植到 .NET Core - 如果真的发生这种情况,那就是。