Skip to content

Migrate from .NET 8 to .NET 10#3129

Merged
kblok merged 5 commits intomasterfrom
migrate-to-dotnet-10
Feb 13, 2026
Merged

Migrate from .NET 8 to .NET 10#3129
kblok merged 5 commits intomasterfrom
migrate-to-dotnet-10

Conversation

@kblok
Copy link
Member

@kblok kblok commented Feb 12, 2026

Summary

  • Update all projects from net8.0 to net10.0 (.NET 10 LTS)
  • Update C# LangVersion from 12 to 14, AnalysisLevel from 8.0 to 10.0
  • Update Microsoft.Extensions.Logging from 8.0.0 to 10.0.0
  • Update all GitHub Actions workflows to use .NET SDK 10.0.x (also fixes PushNugetPackageToIntNugetOrg which was still on 7.0.x)
  • Remove Microsoft.CSharp and System.Net.Http packages from test project (now built into .NET 10)
  • Suppress ASPDEPR004/ASPDEPR008 in TestServer for deprecated IWebHost/WebHostBuilder APIs

Test plan

  • Solution builds with 0 warnings, 0 errors
  • Accessibility tests pass on Chrome/CDP
  • Full CI matrix passes

🤖 Generated with Claude Code

kblok and others added 5 commits February 12, 2026 15:08
.NET 10 is now the current LTS release. This updates all project files,
CI workflows, and related settings to target .NET 10.

- Update TargetFramework(s) from net8.0 to net10.0 across all projects
- Update LangVersion from 12 to 14 (C# 14 ships with .NET 10)
- Update AnalysisLevel from 8.0-Recommended to 10.0-Recommended
- Update Microsoft.Extensions.Logging from 8.0.0 to 10.0.0
- Update all GitHub Actions workflows to use .NET SDK 10.0.x
- Fix PushNugetPackageToIntNugetOrg workflow (was still on 7.0.x)
- Remove Microsoft.CSharp and System.Net.Http packages from tests
  (now included in .NET 10, NU1510 errors)
- Suppress ASPDEPR004/ASPDEPR008 in TestServer for deprecated
  IWebHost/WebHostBuilder APIs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.0.42 fixes a System.Text.Json source generator error where
[JsonInclude] on protected properties in RemoteReference is rejected
by .NET 10 (properties changed to protected internal).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The subprocess working directory path was hardcoded to net8.0 instead
of net10.0, causing ShouldDumpBrowserProcessStderr to fail.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
.NET 10 promotes AOT and trim analysis warnings to errors by default
during PublishAot. PuppeteerSharp is not fully AOT/trim-compatible,
so suppress these in the demo project.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant