Core renderer:
dotnet add package Svg.Skia
Uno control package:
dotnet add package Svg.Controls.Skia.Uno
.NET MAUI control package:
dotnet add package Svg.Controls.Skia.Maui
Avalonia controls backed by Skia:
dotnet add package Svg.Controls.Skia.Avalonia
Avalonia controls backed by the Avalonia drawing stack:
dotnet add package Svg.Controls.Avalonia
Inline SVG authoring for Avalonia XAML:
dotnet add package SvgML.Avalonia
Inline SVG authoring for .NET MAUI XAML:
dotnet add package SvgML.Maui
Inline SVG authoring for Uno Platform XAML:
dotnet add package SvgML.Uno
General-purpose Skia controls for Avalonia:
dotnet add package Skia.Controls.Avalonia
Source generator:
dotnet add package Svg.SourceGenerator.Skia
Converter as a global tool:
dotnet tool install -g Svg.Skia.Converter
Most runtime packages in this repository multi-target:
netstandard2.0net461net6.0net8.0net10.0The generator and codegen packages target netstandard2.0.
Avalonia-specific UI packages, including Svg.Controls.Avalonia, Svg.Controls.Skia.Avalonia, Skia.Controls.Avalonia, and SvgML.Avalonia, target net8.0 and net10.0.
Svg.Controls.Skia.Maui and SvgML.Maui target net10.0-android, net10.0-ios, and net10.0-maccatalyst.
SvgML.Uno currently targets net10.0 through Uno.Sdk with SkiaRenderer enabled. The current Uno 6.5.x packages in this repository do not ship net8.0 assets.
The repository uses git submodules for upstream SVG sources and external test data. After cloning:
git submodule update --init --recursive
The local docs pipeline also uses a .NET tool manifest for Lunet:
dotnet tool restore
The standalone Uno sample app additionally needs Uno workloads configured through uno-check, but the default repository solution does not:
uno-check --target desktop --target web --target android --target ios
The .NET MAUI lane uses its own MAUI-local workspace and requires the .NET MAUI workload:
cd src/SvgML.Maui
dotnet workload install maui
dotnet build ../Svg.Controls.Skia.Maui/Svg.Controls.Skia.Maui.csproj -c Release
dotnet build SvgML.Maui.csproj -c Release
dotnet build ../../samples/MauiSvgSkiaSample/MauiSvgSkiaSample.csproj -c Release
dotnet build ../../samples/SvgML.Maui.Demo/SvgML.Maui.Demo.csproj -c Release
Formatting:
dotnet format --no-restore
Build:
dotnet build Svg.Skia.slnx -c Release
Tests:
dotnet test Svg.Skia.slnx -c Release
Docs:
./build-docs.sh
./serve-docs.sh