Skip to content

Target .NET 10 for HtmlRenderer.Core and HtmlRenderer.WinForms#246

Open
kushanp wants to merge 2 commits into
ArthurHub:masterfrom
kushanp:pr/net10-modernization
Open

Target .NET 10 for HtmlRenderer.Core and HtmlRenderer.WinForms#246
kushanp wants to merge 2 commits into
ArthurHub:masterfrom
kushanp:pr/net10-modernization

Conversation

@kushanp

@kushanp kushanp commented Jul 25, 2026

Copy link
Copy Markdown

Summary

Modernizes HtmlRenderer.Core and HtmlRenderer.WinForms for .NET 10, with related safety and API fixes.

Targeting

  • Core: net10.0 (was netstandard2.0;net8.0)
  • WinForms: net10.0-windows with UseWindowsForms + Nullable
  • Package bump: System.Resources.Extensions → 10.0.10

Bug / safety fixes

  • 64-bit-safe P/Invoke for Metafile EMF save and cursor handles (IntPtr instead of truncated int)
  • Thread-safe ImageDownloader client list + dedicated lock in ImageLoadHandler
  • HtmlToolTip dispose unsubscription order + null/handle guards
  • Nullable annotations on key public APIs (SetHtml, selection getters, entity Equals)
  • Modern WinForms designer Editor attribute assembly names for .NET 10

Breaking change

This drops multi-targeting for Core (netstandard2.0 / net8.0). Consumers on older TFMs need to multi-target or stay on a previous release. Happy to adjust to multi-target (net8.0 + net10.0) if preferred.

Scope

Only Core + WinForms (no WPF / PdfSharp / Demo changes).

Test plan

  • dotnet build -c Release HtmlRenderer.csproj (net10.0)
  • dotnet build -c Release HtmlRenderer.WinForms.csproj (net10.0-windows)
  • Load assemblies and instantiate HtmlPanel / HtmlContainer.SetHtml(null)

Notes

Rebased onto current master (includes upstream dependency + GHA updates).
A follow-up PR will add HtmlPanel zoom/pan as a separate feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants