Skip to content

Solution structure

Generated solution: <Name>.slnx (from sourceName ConnectSoft.Blazor.ComponentLibraryTemplate).

<Name>.slnx
├── src/
│   ├── <Name>/                     # main Razor Class Library (RCL, net10.0, Sdk.Razor)
│   ├── <Name>.Tokens/              # Tokens theme adapter
│   ├── <Name>.Flowbite/            # Flowbite theme adapter
│   ├── <Name>.DaisyUI/             # DaisyUI theme adapter
│   ├── <Name>.Security/            # CSP middleware / nonce service
│   └── <Name>.SecurityAnalyzers/   # Roslyn analyzers (referenced as analyzer)
├── samples/                        # if --include-gallery
│   └── <Name>.Gallery/             # Blazor WASM component gallery
└── tests/                          # if --include-tests
    ├── <Name>.UnitTests/           # MSTest + bUnit
    └── <Name>.LinkerTest/          # WASM trim/tree-shaking verification

Main RCL internals

src/<Name>/
├── Components/        # Button, TextField, Modal, DatePicker, DataGrid, LazyRender, ...
├── Services/          # IThemeProvider, adapters, RtlDirectionService, LazyRenderPreloadService
├── Options/           # LibraryTemplateOptions, ValidateLibraryTemplateOptions
├── Diagnostics/       # LibraryTemplateMetrics, LibraryTemplateDiagnostics
├── Resources/         # Strings.resx
├── Styles/            # app.css (Tailwind source)
├── wwwroot/           # tokens.*.css, rtl.css, modal.js, datepicker.js, datagrid.js, lazy-render.js
└── package.json       # npm Tailwind build to wwwroot/css/app.css

Authoring-only projects (not in dotnet new output)

These exist in the template repository under AuthoringMode and are excluded from generated solutions: samples/<Name>.Stories, samples/<Name>.Gallery.Server, tests/<Name>.E2ETests (Playwright + Axe), tests/<Name>.ScaffoldTests, tests/<Name>.SecurityAnalyzers.Tests.

Build configuration

  • CPM via Directory.Packages.props (ASP.NET Components 10.0.9, ConnectSoft.Extensions 1.0.17).
  • Analyzers applied via Directory.Build.props: AsyncFixer, Asyncify, StyleCop, Meziantou, SonarAnalyzer, VS Threading, plus the local SecurityAnalyzers project.
  • MkDocs site at mkdocs.yml (solution root).

See also