The framework core is platform-neutral; the hosts are thin adapters that give you a canvas control for your UI stack. This page is the practical reference for what targets what, and what to expect when you consume the packages.

Target Frameworks

ComponentTargetsNotes
Core, model, family librariesnet8.0, net9.0, net10.0Multi-targeted; every shipped target is runtime-verified by a consumer
WinForms hostnet10.0-windows10.0.19041.0SkiaSharp's 4.x view packages ship no net8.0 assets, so the Windows hosts require .NET 10 on Windows 10 2004 or later
WPF hostnet10.0-windows10.0.19041.0Same constraint as WinForms
Blazor hostnet8.0WebAssembly rendering through SKCanvasView
Avalonia hostnet8.0Renders into an Avalonia WriteableBitmap-backed surface, so it needs only Avalonia plus the same SkiaSharp version as the core
MAUI hostnet10.0-android/ios/maccatalyst/windowsExcluded from CI (Windows runners cannot build the iOS/MacCatalyst targets); build locally

Host Controls

Each host wraps the same DrawingManager, so diagram code is portable between them. Hosts add what is platform-specific: rendering surface, pointer and keyboard translation, and the in-canvas palette/editor where it makes sense.

HostControlRendering surface
WinFormsSkiaHostControlSKControl (flagship host: palette, property editor, minimap, dialogs)
WPFSkiaHostElementSKElement
BlazorSkiaHostComponentSKCanvasView (WebGL/Canvas2D)
AvaloniaSkiaHostControlSkiaSurface — offscreen SKSurface over a WriteableBitmap
MAUISkiaHostViewSKCanvasView

Consuming the Packages

Packages are versioned from git tags with MinVer, and 23 of them are produced by a release build (core, model, the 16 families, the hosts, and the loader). A consumer needs only what it uses:

<ItemGroup>
  <!-- library only -->
  <PackageReference Include="Beep.Skia" Version="1.0.0" />
  <PackageReference Include="Beep.Skia.ERD" Version="1.0.0" />

  <!-- with the WinForms editor -->
  <PackageReference Include="Beep.Skia.Winform.Controls" Version="1.0.0" />
</ItemGroup>

Restore, compile, render, save/load and workflow execution from a packaged build are verified by a standalone consumer project on net8.0, net9.0 and net10.0.

Private Dependency Note

The core depends on TheTechIdea.Beep.* packages that are not published to nuget.org at the required versions. Configure a feed that provides them before restoring: locally a folder source (for example LocalNugetFiles), in CI a feed secret. Without it, restore fails for the projects that reference those packages.