BlazorNova is distributed as three NuGet packages. Install what your project needs,
then reference BlazorNovaGenerator as a source generator so the build-time
CSS generator can run.
BlazorNovaGenerator — the fluent CSS builder, source generator, theming primitives,
and surface palette system. Required by everything.
BlazorNovaUI — the open-source Razor component library (inputs, surfaces,
menus, modals, grids). Depends on BlazorNovaGenerator.
BlazorNovaComponents — paid add-on components (advanced data grid, paged grid,
and more). Depends on both packages above.
<ItemGroup>
<!-- Core: required, referenced as a source generator -->
<PackageReference Include="BlazorNovaGenerator" Version="x.x.x"
OutputItemType="Analyzer"
ReferenceOutputAssembly="true" />
<!-- UI components: open-source -->
<PackageReference Include="BlazorNovaUI" Version="x.x.x" />
<!-- Paid components (optional) -->
<PackageReference Include="BlazorNovaComponents" Version="x.x.x" />
</ItemGroup>BlazorNovaGenerator must be referenced with
OutputItemType="Analyzer" and ReferenceOutputAssembly="true".
This tells the .NET build system to load the package as a Roslyn source generator,
which is what scans your code and generates the CSS file at build time.
RCL / library projects do not need to generate CSS. The generator runs only in the final consuming application and automatically detects usages from all referenced component libraries. See Source Generator for details.
<!-- App project: runs the generator, produces generated.css -->
<PackageReference Include="BlazorNovaGenerator" Version="x.x.x"
OutputItemType="Analyzer"
ReferenceOutputAssembly="true" />
<!-- RCL / library project: same reference, no CSS output needed -->
<PackageReference Include="BlazorNovaGenerator" Version="x.x.x"
OutputItemType="Analyzer"
ReferenceOutputAssembly="true" />
<!-- The consuming app's generator picks up this library's usages automatically. -->dotnet add package BlazorNovaGenerator
dotnet add package BlazorNovaUI
dotnet add package BlazorNovaComponents # optional