QuestPDF
QuestPDF copied to clipboard
Previewer crashes at startup - supposedly because some picture is missing
Describe the bug The previewer crashes upon startup
tested with version 2022.8.0
of QuestPDF and QuestPDF.Previewer
Exception from questpdf-previewer.exe
:
Application: questpdf-previewer.exe
CoreCLR Version: 6.0.822.36306
.NET Version: 6.0.8
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException: Value cannot be null. (Parameter 'picture')
at SkiaSharp.SKCanvas.DrawPicture(SKPicture picture, SKPaint paint)
at QuestPDF.Previewer.InteractiveCanvas.Render(IDrawingContextImpl context) in D:\QuestPDF\QuestPDF.Previewer\InteractiveCanvas.cs:line 132
at Avalonia.Rendering.SceneGraph.CustomDrawOperation.Render(IDrawingContextImpl context) in /_/src/Avalonia.Visuals/Rendering/SceneGraph/CustomDrawOperation.cs:line 31
at Avalonia.Rendering.DeferredRenderer.Render(IDrawingContextImpl context, VisualNode node, IVisual layer, Rect clipBounds) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 437
at Avalonia.Rendering.DeferredRenderer.Render(IDrawingContextImpl context, VisualNode node, IVisual layer, Rect clipBounds) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 446
at Avalonia.Rendering.DeferredRenderer.Render(IDrawingContextImpl context, VisualNode node, IVisual layer, Rect clipBounds) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 446
at Avalonia.Rendering.DeferredRenderer.Render(IDrawingContextImpl context, VisualNode node, IVisual layer, Rect clipBounds) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 446
at Avalonia.Rendering.DeferredRenderer.Render(IDrawingContextImpl context, VisualNode node, IVisual layer, Rect clipBounds) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 446
at Avalonia.Rendering.DeferredRenderer.Render(IDrawingContextImpl context, VisualNode node, IVisual layer, Rect clipBounds) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 446
at Avalonia.Rendering.DeferredRenderer.Render(IDrawingContextImpl context, VisualNode node, IVisual layer, Rect clipBounds) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 446
at Avalonia.Rendering.DeferredRenderer.RenderToLayers(Scene scene) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 472
at Avalonia.Rendering.DeferredRenderer.UpdateRenderLayersAndConsumeSceneIfNeeded(IDrawingContextImpl& context, Boolean recursiveCall) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 378
at Avalonia.Rendering.DeferredRenderer.Render(Boolean forceComposite) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 323
at Avalonia.Rendering.DeferredRenderer.Paint(Rect rect) in /_/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs:line 228
at Avalonia.Controls.TopLevel.HandlePaint(Rect rect) in /_/src/Avalonia.Controls/TopLevel.cs:line 351
at Avalonia.Win32.WindowImpl.AppWndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in /_/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs:line 369
at Avalonia.Win32.WindowImpl.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in /_/src/Windows/Avalonia.Win32/WindowImpl.WndProc.cs:line 30
Exception in application:
Application: Reporting.CLI.exe
CoreCLR Version: 6.0.822.36306
.NET Version: 6.0.8
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.Tasks.TaskCanceledException: A task was canceled.
at QuestPDF.Previewer.Extensions.<ShowInPreviewerAsync>g__WaitForPreviewerExit|1_3(CancellationToken cancellationToken)
at QuestPDF.Previewer.Extensions.ShowInPreviewerAsync(IDocument document, Int32 port)
at QuestPDF.Previewer.Extensions.ShowInPreviewer(IDocument document, Int32 port)
at Program.<Main>$(String[] args) in C:\Reporting.CLI\Program.cs:line 58
To Reproduce reporting.zip
Expected behavior Preview works as expected
Screenshots
https://user-images.githubusercontent.com/13602143/185056684-d3b452e0-4a7f-403a-9b53-baf96adb2326.mp4
Additional context Add any other context about the problem here.
Let's start by testing if the official example works on your end. Please clone this repository to your PC, change code in the Program.cs
file to enable previewer and test if it works correctly.
I have found that these nuget packages added to the reporting
project are preventing the previewer from working correctly. Also, as far as I know, you are on Windows PC, so they should not be required.
<PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.0" IncludeAssets="native" />
<PackageReference Include="HarfBuzzSharp.NativeAssets.Linux" Version="2.8.2" IncludeAssets="native" />
Also, as far as I know, you are on Windows PC, so they should not be required.
<PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.0" IncludeAssets="native" /> <PackageReference Include="HarfBuzzSharp.NativeAssets.Linux" Version="2.8.2" IncludeAssets="native" />
Thats half correct, i need them (i guess) because the actual service also runs on clients Linux'es, Docker and also cloud providers
Without them, we get errors about libHarfbuzzNet
missing and others.
i just found out you can use PowerShell for Conditions in MSBuild.
Previewer works with the following. Also printing in Linux still works. I guess this could be put as an information into the readme ...? this requires you to BUILD the app ON linux to make it work propery and ist only a workaround
<ItemGroup Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' ">
<PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.0" IncludeAssets="native" />
<PackageReference Include="HarfBuzzSharp.NativeAssets.Linux" Version="2.8.2" IncludeAssets="native" />
</ItemGroup>
i still don't get why the previewer dies when those are present, but... eh
I get this error using paket, that is not importing the linux files. I have pasted below the paket.lock file that lists all the packages being imported. Only windows and macos is being imported.
STORAGE: NONE RESTRICTION: == net6.0 NUGET remote: https://api.nuget.org/v3/index.json Append.Blazor.Printing (1.1) Microsoft.AspNetCore.Components.Web (>= 5.0) Bolero (0.20.18) Elmish (>= 3.1 < 4.0) FSharp.Core (>= 6.0) FSharp.SystemTextJson (>= 0.19.13) Microsoft.AspNetCore.Components.WebAssembly (>= 6.0) Microsoft.Extensions.Http (>= 6.0) Bolero.Build (0.20.18) Bolero.HotReload (0.20.4) Bolero (>= 0.20.11) FSharp.Core (>= 6.0) HtmlAgilityPack (>= 1.11.39) Microsoft.AspNetCore.SignalR.Client (>= 6.0) Bolero.HotReload.Server (0.20.4) Bolero.HotReload (0.20.4) Bolero.Server (>= 0.20.11) FSharp.Core (>= 6.0) Bolero.Server (0.20.18) Bolero (0.20.18) FSharp.Core (>= 6.0) FSharp.SystemTextJson (>= 0.19.13) Donald (7.1) FSharp.Core (>= 6.0.1) Elmish (3.1) FSharp.Core (>= 4.6.2) Elmish.WPF (3.5.8) Elmish (>= 3.0.3 <= 3.99) FSharp.Core (>= 4.6.2) Evolve (3.0) FSharp.Control.AsyncSeq (3.2.1) FSharp.Core (>= 4.7.2) Microsoft.Bcl.AsyncInterfaces (>= 5.0) FSharp.Core (6.0.5) - content: none FSharp.Data (5.0.2) FSharp.Core (>= 5.0.1) FSharp.SystemTextJson (0.19.13) FSharp.Core (>= 4.7) System.Text.Json (>= 6.0) HarfBuzzSharp (2.8.2.1) HarfBuzzSharp.NativeAssets.macOS (>= 2.8.2.1) HarfBuzzSharp.NativeAssets.Win32 (>= 2.8.2.1) HarfBuzzSharp.NativeAssets.macOS (2.8.2.1) HarfBuzzSharp.NativeAssets.Win32 (2.8.2.1) HtmlAgilityPack (1.11.43) Microsoft.AspNetCore.Authorization (6.0.8) Microsoft.AspNetCore.Metadata (>= 6.0.8) Microsoft.Extensions.Logging.Abstractions (>= 6.0.1) Microsoft.Extensions.Options (>= 6.0) Microsoft.AspNetCore.Components (6.0.8) Microsoft.AspNetCore.Authorization (>= 6.0.8) Microsoft.AspNetCore.Components.Analyzers (>= 6.0.8) Microsoft.AspNetCore.Components.Analyzers (6.0.8) Microsoft.AspNetCore.Components.Forms (6.0.8) Microsoft.AspNetCore.Components (>= 6.0.8) Microsoft.AspNetCore.Components.Web (6.0.8) Microsoft.AspNetCore.Components (>= 6.0.8) Microsoft.AspNetCore.Components.Forms (>= 6.0.8) Microsoft.Extensions.DependencyInjection (>= 6.0) Microsoft.JSInterop (>= 6.0.8) System.IO.Pipelines (>= 6.0.3) Microsoft.AspNetCore.Components.WebAssembly (6.0.8) Microsoft.AspNetCore.Components.Web (>= 6.0.8) Microsoft.Extensions.Configuration.Binder (>= 6.0) Microsoft.Extensions.Configuration.Json (>= 6.0) Microsoft.Extensions.Logging (>= 6.0) Microsoft.JSInterop.WebAssembly (>= 6.0.8) Microsoft.AspNetCore.Components.WebAssembly.DevServer (6.0.8) Microsoft.AspNetCore.Components.WebAssembly.Server (6.0.8) Microsoft.AspNetCore.Connections.Abstractions (6.0.8) Microsoft.Extensions.Features (>= 6.0.8) System.IO.Pipelines (>= 6.0.3) Microsoft.AspNetCore.Http.Connections.Client (6.0.8) Microsoft.AspNetCore.Http.Connections.Common (>= 6.0.8) Microsoft.Extensions.Logging.Abstractions (>= 6.0.1) Microsoft.Extensions.Options (>= 6.0) Microsoft.AspNetCore.Http.Connections.Common (6.0.8) Microsoft.AspNetCore.Connections.Abstractions (>= 6.0.8) Microsoft.AspNetCore.Metadata (6.0.8) Microsoft.AspNetCore.SignalR.Client (6.0.8) Microsoft.AspNetCore.Http.Connections.Client (>= 6.0.8) Microsoft.AspNetCore.SignalR.Client.Core (>= 6.0.8) Microsoft.AspNetCore.SignalR.Client.Core (6.0.8) Microsoft.AspNetCore.SignalR.Common (>= 6.0.8) Microsoft.AspNetCore.SignalR.Protocols.Json (>= 6.0.8) Microsoft.Extensions.DependencyInjection (>= 6.0) Microsoft.Extensions.Logging (>= 6.0) System.Threading.Channels (>= 6.0) Microsoft.AspNetCore.SignalR.Common (6.0.8) Microsoft.AspNetCore.Connections.Abstractions (>= 6.0.8) Microsoft.Extensions.Options (>= 6.0) Microsoft.AspNetCore.SignalR.Protocols.Json (6.0.8) Microsoft.AspNetCore.SignalR.Common (>= 6.0.8) Microsoft.Bcl.AsyncInterfaces (6.0) Microsoft.Extensions.Configuration (6.0.1) Microsoft.Extensions.Configuration.Abstractions (>= 6.0) Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.Configuration.Abstractions (6.0) Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.Configuration.Binder (6.0) Microsoft.Extensions.Configuration.Abstractions (>= 6.0) Microsoft.Extensions.Configuration.FileExtensions (6.0) Microsoft.Extensions.Configuration (>= 6.0) Microsoft.Extensions.Configuration.Abstractions (>= 6.0) Microsoft.Extensions.FileProviders.Abstractions (>= 6.0) Microsoft.Extensions.FileProviders.Physical (>= 6.0) Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.Configuration.Json (6.0) Microsoft.Extensions.Configuration (>= 6.0) Microsoft.Extensions.Configuration.Abstractions (>= 6.0) Microsoft.Extensions.Configuration.FileExtensions (>= 6.0) Microsoft.Extensions.FileProviders.Abstractions (>= 6.0) System.Text.Json (>= 6.0) Microsoft.Extensions.DependencyInjection (6.0) Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0) Microsoft.Extensions.DependencyInjection.Abstractions (6.0) Microsoft.Extensions.Features (6.0.8) Microsoft.Extensions.FileProviders.Abstractions (6.0) Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.FileProviders.Physical (6.0) Microsoft.Extensions.FileProviders.Abstractions (>= 6.0) Microsoft.Extensions.FileSystemGlobbing (>= 6.0) Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.FileSystemGlobbing (6.0) Microsoft.Extensions.Http (6.0) Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0) Microsoft.Extensions.Logging (>= 6.0) Microsoft.Extensions.Logging.Abstractions (>= 6.0) Microsoft.Extensions.Options (>= 6.0) Microsoft.Extensions.Logging (6.0) Microsoft.Extensions.DependencyInjection (>= 6.0) Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0) Microsoft.Extensions.Logging.Abstractions (>= 6.0) Microsoft.Extensions.Options (>= 6.0) System.Diagnostics.DiagnosticSource (>= 6.0) Microsoft.Extensions.Logging.Abstractions (6.0.1) Microsoft.Extensions.Options (6.0) Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0) Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.Primitives (6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0) Microsoft.JSInterop (6.0.8) Microsoft.JSInterop.WebAssembly (6.0.8) Microsoft.JSInterop (>= 6.0.8) Npgsql (6.0.6) System.Runtime.CompilerServices.Unsafe (>= 6.0) Ookii.Dialogs.Wpf (5.0.1) QuestPdf (2022.8) SkiaSharp (>= 2.80.4) SkiaSharp.HarfBuzz (>= 2.80.4) SkiaSharp (2.88.1) SkiaSharp.NativeAssets.macOS (>= 2.88.1) SkiaSharp.NativeAssets.Win32 (>= 2.88.1) SkiaSharp.HarfBuzz (2.88.1) HarfBuzzSharp (>= 2.8.2.1) SkiaSharp (>= 2.88.1) SkiaSharp.NativeAssets.macOS (2.88.1) SkiaSharp.NativeAssets.Win32 (2.88.1) System.Diagnostics.DiagnosticSource (6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0) System.IO.Pipelines (6.0.3) System.Runtime.CompilerServices.Unsafe (6.0) System.Text.Encodings.Web (6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0) System.Text.Json (6.0.5) System.Runtime.CompilerServices.Unsafe (>= 6.0) System.Text.Encodings.Web (>= 6.0) System.Threading.Channels (6.0)
I added a note about having to BUILD on linux in this case. This currently works for us, as we always build on the target platform, to minimize portability issues.
I believe i found the root cause of this issue here. Following scenario causes crash:
If your project which generates the document and calls ShowInPreviewer()
is using another SkiaSharp version then the standalone previewer (nuget tool), SKPicture cannot be deserialized properly, causing the previewer to crash (SKPicture null)
Exception Info: System.ArgumentNullException: Value cannot be null. (Parameter 'picture')
at SkiaSharp.SKCanvas.DrawPicture(SKPicture picture, SKPaint paint)
I do not believe this has anything to do with Linux. You can see this problem in the paket.lock example from @kgday
SkiaSharp (>= 2.80.4) //Skia version used by Quest PDF
SkiaSharp.HarfBuzz (>= 2.80.4)
SkiaSharp (2.88.1) //Skia version used by something else causing the previewer to crash!
SkiaSharp.NativeAssets.macOS (>= 2.88.1)
SkiaSharp.NativeAssets.Win32 (>= 2.88.1)
SkiaSharp.HarfBuzz (2.88.1)
I locked the skia version to 2.80.4 and upgaded QuestPdf. Still getting the same problem. I think I am missing something. The new paket.lock file. I am using FSharp, but that shouldn't make any difference.
STORAGE: NONE
RESTRICTION: == net6.0
NUGET
remote: https://api.nuget.org/v3/index.json
Append.Blazor.Printing (1.1)
Microsoft.AspNetCore.Components.Web (>= 5.0)
Bolero (0.20.18)
Elmish (>= 3.1 < 4.0)
FSharp.Core (>= 6.0)
FSharp.SystemTextJson (>= 0.19.13)
Microsoft.AspNetCore.Components.WebAssembly (>= 6.0)
Microsoft.Extensions.Http (>= 6.0)
Bolero.Build (0.20.18)
Bolero.HotReload (0.20.4)
Bolero (>= 0.20.11)
FSharp.Core (>= 6.0)
HtmlAgilityPack (>= 1.11.39)
Microsoft.AspNetCore.SignalR.Client (>= 6.0)
Bolero.HotReload.Server (0.20.4)
Bolero.HotReload (0.20.4)
Bolero.Server (>= 0.20.11)
FSharp.Core (>= 6.0)
Bolero.Server (0.20.18)
Bolero (0.20.18)
FSharp.Core (>= 6.0)
FSharp.SystemTextJson (>= 0.19.13)
Donald (7.1)
FSharp.Core (>= 6.0.1)
Elmish (3.1)
FSharp.Core (>= 4.6.2)
Elmish.WPF (3.5.8)
Elmish (>= 3.0.3 <= 3.99)
FSharp.Core (>= 4.6.2)
Evolve (3.0)
FSharp.Control.AsyncSeq (3.2.1)
FSharp.Core (>= 4.7.2)
Microsoft.Bcl.AsyncInterfaces (>= 5.0)
FSharp.Core (6.0.5) - content: none
FSharp.Data (5.0.2)
FSharp.Core (>= 5.0.1)
FSharp.SystemTextJson (0.19.13)
FSharp.Core (>= 4.7)
System.Text.Json (>= 6.0)
HarfBuzzSharp (2.8.2.1)
HarfBuzzSharp.NativeAssets.macOS (>= 2.8.2.1)
HarfBuzzSharp.NativeAssets.Win32 (>= 2.8.2.1)
HarfBuzzSharp.NativeAssets.macOS (2.8.2.1)
HarfBuzzSharp.NativeAssets.Win32 (2.8.2.1)
HtmlAgilityPack (1.11.45)
Microsoft.AspNetCore.Authorization (6.0.8)
Microsoft.AspNetCore.Metadata (>= 6.0.8)
Microsoft.Extensions.Logging.Abstractions (>= 6.0.1)
Microsoft.Extensions.Options (>= 6.0)
Microsoft.AspNetCore.Components (6.0.8)
Microsoft.AspNetCore.Authorization (>= 6.0.8)
Microsoft.AspNetCore.Components.Analyzers (>= 6.0.8)
Microsoft.AspNetCore.Components.Analyzers (6.0.8)
Microsoft.AspNetCore.Components.Forms (6.0.8)
Microsoft.AspNetCore.Components (>= 6.0.8)
Microsoft.AspNetCore.Components.Web (6.0.8)
Microsoft.AspNetCore.Components (>= 6.0.8)
Microsoft.AspNetCore.Components.Forms (>= 6.0.8)
Microsoft.Extensions.DependencyInjection (>= 6.0)
Microsoft.JSInterop (>= 6.0.8)
System.IO.Pipelines (>= 6.0.3)
Microsoft.AspNetCore.Components.WebAssembly (6.0.8)
Microsoft.AspNetCore.Components.Web (>= 6.0.8)
Microsoft.Extensions.Configuration.Binder (>= 6.0)
Microsoft.Extensions.Configuration.Json (>= 6.0)
Microsoft.Extensions.Logging (>= 6.0)
Microsoft.JSInterop.WebAssembly (>= 6.0.8)
Microsoft.AspNetCore.Components.WebAssembly.DevServer (6.0.8)
Microsoft.AspNetCore.Components.WebAssembly.Server (6.0.8)
Microsoft.AspNetCore.Connections.Abstractions (6.0.8)
Microsoft.Extensions.Features (>= 6.0.8)
System.IO.Pipelines (>= 6.0.3)
Microsoft.AspNetCore.Http.Connections.Client (6.0.8)
Microsoft.AspNetCore.Http.Connections.Common (>= 6.0.8)
Microsoft.Extensions.Logging.Abstractions (>= 6.0.1)
Microsoft.Extensions.Options (>= 6.0)
Microsoft.AspNetCore.Http.Connections.Common (6.0.8)
Microsoft.AspNetCore.Connections.Abstractions (>= 6.0.8)
Microsoft.AspNetCore.Metadata (6.0.8)
Microsoft.AspNetCore.SignalR.Client (6.0.8)
Microsoft.AspNetCore.Http.Connections.Client (>= 6.0.8)
Microsoft.AspNetCore.SignalR.Client.Core (>= 6.0.8)
Microsoft.AspNetCore.SignalR.Client.Core (6.0.8)
Microsoft.AspNetCore.SignalR.Common (>= 6.0.8)
Microsoft.AspNetCore.SignalR.Protocols.Json (>= 6.0.8)
Microsoft.Extensions.DependencyInjection (>= 6.0)
Microsoft.Extensions.Logging (>= 6.0)
System.Threading.Channels (>= 6.0)
Microsoft.AspNetCore.SignalR.Common (6.0.8)
Microsoft.AspNetCore.Connections.Abstractions (>= 6.0.8)
Microsoft.Extensions.Options (>= 6.0)
Microsoft.AspNetCore.SignalR.Protocols.Json (6.0.8)
Microsoft.AspNetCore.SignalR.Common (>= 6.0.8)
Microsoft.Bcl.AsyncInterfaces (6.0)
Microsoft.Extensions.Configuration (6.0.1)
Microsoft.Extensions.Configuration.Abstractions (>= 6.0)
Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.Configuration.Abstractions (6.0)
Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.Configuration.Binder (6.0)
Microsoft.Extensions.Configuration.Abstractions (>= 6.0)
Microsoft.Extensions.Configuration.FileExtensions (6.0)
Microsoft.Extensions.Configuration (>= 6.0)
Microsoft.Extensions.Configuration.Abstractions (>= 6.0)
Microsoft.Extensions.FileProviders.Abstractions (>= 6.0)
Microsoft.Extensions.FileProviders.Physical (>= 6.0)
Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.Configuration.Json (6.0)
Microsoft.Extensions.Configuration (>= 6.0)
Microsoft.Extensions.Configuration.Abstractions (>= 6.0)
Microsoft.Extensions.Configuration.FileExtensions (>= 6.0)
Microsoft.Extensions.FileProviders.Abstractions (>= 6.0)
System.Text.Json (>= 6.0)
Microsoft.Extensions.DependencyInjection (6.0)
Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
Microsoft.Extensions.DependencyInjection.Abstractions (6.0)
Microsoft.Extensions.Features (6.0.8)
Microsoft.Extensions.FileProviders.Abstractions (6.0)
Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.FileProviders.Physical (6.0)
Microsoft.Extensions.FileProviders.Abstractions (>= 6.0)
Microsoft.Extensions.FileSystemGlobbing (>= 6.0)
Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.FileSystemGlobbing (6.0)
Microsoft.Extensions.Http (6.0)
Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0)
Microsoft.Extensions.Logging (>= 6.0)
Microsoft.Extensions.Logging.Abstractions (>= 6.0)
Microsoft.Extensions.Options (>= 6.0)
Microsoft.Extensions.Logging (6.0)
Microsoft.Extensions.DependencyInjection (>= 6.0)
Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0)
Microsoft.Extensions.Logging.Abstractions (>= 6.0)
Microsoft.Extensions.Options (>= 6.0)
System.Diagnostics.DiagnosticSource (>= 6.0)
Microsoft.Extensions.Logging.Abstractions (6.0.1)
Microsoft.Extensions.Options (6.0)
Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0)
Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.Primitives (6.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
Microsoft.JSInterop (6.0.8)
Microsoft.JSInterop.WebAssembly (6.0.8)
Microsoft.JSInterop (>= 6.0.8)
Npgsql (6.0.6)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
Ookii.Dialogs.Wpf (5.0.1)
QuestPdf (2022.8.2)
SkiaSharp (>= 2.80.4)
SkiaSharp.HarfBuzz (>= 2.80.4)
SkiaSharp (2.80.4)
System.Memory (>= 4.5.3)
SkiaSharp.HarfBuzz (2.80.4)
HarfBuzzSharp (>= 2.6.1.9)
SkiaSharp (>= 2.80.4)
System.Diagnostics.DiagnosticSource (6.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.IO.Pipelines (6.0.3)
System.Memory (4.5.5)
System.Runtime.CompilerServices.Unsafe (6.0)
System.Text.Encodings.Web (6.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Text.Json (6.0.5)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Text.Encodings.Web (>= 6.0)
System.Threading.Channels (6.0)
In the 2022.12 release, the QuestPDF.Previewer application uses SkiaSharp 2.88.X version. This problem should not happen anymore. Closing