Lyo.Reporting.Web 2.0.0

dotnet add package Lyo.Reporting.Web --version 2.0.0
                    
NuGet\Install-Package Lyo.Reporting.Web -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Lyo.Reporting.Web" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.Reporting.Web" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.Reporting.Web" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Lyo.Reporting.Web --version 2.0.0
                    
#r "nuget: Lyo.Reporting.Web, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Lyo.Reporting.Web@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Lyo.Reporting.Web&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.Reporting.Web&version=2.0.0
                    
Install as a Cake Tool

Lyo.Reporting.Web

IReportRenderer writes HTML and PDF; the package also ships a Blazor ReportViewer. Sample business-document templates live in Lyo.Reporting.Business.Example.

Examples

Wire into DI

services.AddWebRenderer(...); // Lyo.Web.WebRenderer
services.AddReportingWebRenderer();

Dependency injection

Composition types come from Lyo.Reporting.Models. The package does not reference Postgres or EF. AddReportingWebRenderer registers HtmlPdfReportRenderer as scoped so it can consume scoped IWebRendererService / HtmlRenderer.

Safe markup

  • Before ReportViewer emits markup, ReportHtmlSanitizer runs an allowlist of elements and attributes over Html, Chart, and Image blocks, so composition JSON cannot smuggle script, event handlers, or javascript: URLs. Nested section/control Styles maps are sanitized the same way as report-level CSS. Unknown ContentType.Component FullNames render a sanitized placeholder instead of crashing. The same paint path (ReportViewPainter / ReportBodyItemView) is what HtmlPdfReportRenderer uses. Optional Layout.RootComponentType renders a named Blazor type instead of ReportViewer. Renderers run ReportCompositionProcessor first so {Key} placeholders and VisibleWhen match generate output. The design canvas interpolates example parameters at paint time without cloning, paints TOC headings and FromParameter tables/charts from the example map, and dims Collapsed sections instead of using HTML hidden. Cards, blocks, and layout grids default to break-inside: avoid (KeepTogether); tables split unless the flag is on. A Grid paints with display:grid. The workbench live editor is ReportDesignCanvas in Lyo.Reporting.Web.Components — generate output never includes drag handles or selection rings.
  • Chart builders therefore ship data rather than code: they emit a canvas whose data-lyo-chart attribute holds configuration, and ReportViewer appends a single script — the Chart.js bundle plus a loader that paints every such canvas. Canvas ids are stable per block instance; the loader destroys and redraws when the config fingerprint changes so Blazor re-renders do not leave a blank chart.
  • This package vendors the Chart.js bundle. ChartScriptUrl falls back to Constants.Charts.DefaultScriptUrl = _content/Lyo.Reporting.Web/scripts/chart.umd.min.js (the static web asset), so drawing charts needs no outbound network; override with Constants.Charts.CdnScriptUrl (or any host-served URL), or leave it empty to skip charts. Breaking change — the public CDN used to be the default.
  • InlineChartScript is set by HtmlPdfReportRenderer, which inlines the bundle: the PDF converter receives a standalone file, and a relative asset URL would resolve against nothing.

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Common.Core (direct, lyo)
  • Lyo.Common.Metadata (direct, lyo)
  • Lyo.Exceptions (direct, lyo)
  • Lyo.Reporting.Models (direct, lyo)
  • Lyo.Web.WebRenderer (direct, lyo)
  • Microsoft.AspNetCore.Components.Web 10.0.5 (direct, microsoft)
  • Microsoft.Extensions.DependencyInjection.Abstractions 10.0.5 (direct, microsoft)
  • Lyo.Configuration (transitive, lyo)
  • Lyo.Metrics (transitive, lyo)
  • Lyo.Parameters (transitive, lyo)
  • Microsoft.Bcl.AsyncInterfaces 10.0.5 (transitive, microsoft, netstandard2.0)
  • Microsoft.Extensions.Configuration 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Configuration.Binder 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 (transitive, microsoft)
  • PuppeteerSharp 24.0.0 (transitive, third-party)
  • System.Memory 4.6.3 (transitive, microsoft, netstandard2.0)
  • System.Text.Json 10.0.5 (transitive, microsoft, netstandard2.0)
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Lyo.Reporting.Web:

Package Downloads
Lyo.Reporting.Web.Components

Blazor components library for browsing report definitions, designing compositions, running reports, and viewing/downloading generations with MudBlazor.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 59 9/9/2026
1.0.13 102 8/25/2026
1.0.11 86 8/23/2026
1.0.9 97 8/22/2026
1.0.6 99 8/20/2026
1.0.4 94 8/20/2026
1.0.3 91 8/19/2026
1.0.2 92 8/19/2026
1.0.1 87 8/18/2026
1.0.0 95 8/16/2026