![]() |
VOOZH | about |
dotnet add package ModelingEvolution.SkiaSharp.Views.Blazor --version 1.5.2
NuGet\Install-Package ModelingEvolution.SkiaSharp.Views.Blazor -Version 1.5.2
<PackageReference Include="ModelingEvolution.SkiaSharp.Views.Blazor" Version="1.5.2" />
<PackageVersion Include="ModelingEvolution.SkiaSharp.Views.Blazor" Version="1.5.2" />Directory.Packages.props
<PackageReference Include="ModelingEvolution.SkiaSharp.Views.Blazor" />Project file
paket add ModelingEvolution.SkiaSharp.Views.Blazor --version 1.5.2
#r "nuget: ModelingEvolution.SkiaSharp.Views.Blazor, 1.5.2"
#:package ModelingEvolution.SkiaSharp.Views.Blazor@1.5.2
#addin nuget:?package=ModelingEvolution.SkiaSharp.Views.Blazor&version=1.5.2Install as a Cake Addin
#tool nuget:?package=ModelingEvolution.SkiaSharp.Views.Blazor&version=1.5.2Install as a Cake Tool
Drop-in replacement for SkiaSharp.Views.Blazor with full support for .NET 10 WebAssembly threading (WasmEnableThreads).
The official SkiaSharp.Views.Blazor uses synchronous JS interop (IJSInProcessRuntime, [JSImport]) which crashes at runtime when WASM threading is enabled:
Cannot call synchronous C# methods.
Assertion at mono-threads-wasm.c:201, condition `<disabled>' not met
This package patches all JS interop to use async IJSObjectReference calls (InvokeAsync, InvokeVoidAsync) and fixes SharedArrayBuffer handling in the canvas rendering pipeline.
dotnet add package ModelingEvolution.SkiaSharp.Views.Blazor
Replace any existing reference to SkiaSharp.Views.Blazor - the namespace and types are identical:
<PackageReference Include="SkiaSharp.Views.Blazor" Version="3.119.1" />
<PackageReference Include="ModelingEvolution.SkiaSharp.Views.Blazor" Version="1.1.8" />
No code changes required. Same namespace (SkiaSharp.Views.Blazor), same types (SKCanvasView, SKGLView, SKPaintSurfaceEventArgs).
| Area | Official | This package |
|---|---|---|
| JS module loading | JSHost.ImportAsync / IJSInProcessRuntime |
IJSObjectReference via IJSRuntime |
| JS callbacks | invokeMethod() (sync) |
invokeMethodAsync() (async) |
| DPI/Size watchers | Synchronous start/stop | Async StartAsync/StopAsync |
Canvas putImageData |
Direct Module.HEAPU8.buffer |
Copies out of SharedArrayBuffer when threading enabled |
| Module access | Global Module variable |
getDotnetRuntime(0).Module fallback for threaded context |
| Emscripten linker | InterceptBrowserObjects via globals |
Same (kept for AOT compatibility) |
WASM threading requires SharedArrayBuffer, which needs these response headers:
app.Use(async (context, next) =>
{
context.Response.Headers["Cross-Origin-Opener-Policy"] = "same-origin";
context.Response.Headers["Cross-Origin-Embedder-Policy"] = "credentialless";
await next();
});
MIT - same as SkiaSharp.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on ModelingEvolution.SkiaSharp.Views.Blazor:
| Package | Downloads |
|---|---|
|
BlazorBlaze
High-performance 2D canvas engine for Blazor using SkiaSharp. Features include scene graph, hit detection, camera zoom/pan, extensible controls, and reactive data binding. |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.2 | 101 | 4/29/2026 |
| 1.5.1 | 110 | 4/27/2026 |
| 1.5.0 | 94 | 4/27/2026 |
| 1.4.4 | 101 | 4/27/2026 |
| 1.4.3 | 101 | 4/27/2026 |
| 1.4.2 | 104 | 4/25/2026 |
| 1.4.1 | 104 | 4/25/2026 |
| 1.4.0 | 94 | 4/25/2026 |
| 1.3.0 | 120 | 4/2/2026 |
| 1.1.16 | 402 | 3/28/2026 |
| 1.1.15 | 141 | 3/28/2026 |
| 1.1.14 | 630 | 3/28/2026 |
| 1.1.13 | 184 | 3/28/2026 |
| 1.1.12 | 123 | 3/27/2026 |
| 1.1.11 | 113 | 3/27/2026 |
| 1.1.10 | 118 | 3/27/2026 |
| 1.1.9 | 126 | 3/27/2026 |
| 1.1.8 | 126 | 3/27/2026 |
| 1.1.7 | 121 | 3/27/2026 |
| 1.1.6 | 124 | 3/27/2026 |