sillsdev / sillsdev/TheCombine

Update .NET from 8 to 10

Open
#4,254 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
22
Forks
10
Avg merge
2d 2h
Merged PRs (30d)
9

Description

Things that need to happen to move from .NET 8 to .NET 10:

  • Migrate Program.cs off the obsolete WebHost/IWebHostBuilder model to WebApplicationBuilder (ASPDEPR008) — #4347
  • Replace the obsolete Rfc2898DeriveBytes constructor in Helper/PasswordHash.cs with the static Pbkdf2 method (SYSLIB0060) — #4347
  • Pin Microsoft.OpenApi, SharpCompress, and Snappier to patched versions (Microsoft.OpenApi 3.9.0+, SharpCompress 1.0.0, Snappier 1.3.1) — these are pulled in transitively via Swashbuckle.AspNetCore/MongoDB.Driver and resolve to versions with known vulnerabilities once the TFM is net10.0, which fails restore under TreatWarningsAsErrors (NU1902/NU1903)
  • Bump TargetFramework to net10.0 in Backend/BackendFramework.csproj and Backend.Tests/Backend.Tests.csproj
  • Fix remaining analyzer errors that only surface once targeting net10.0 (confirmed not reproducible on net8.0): CA1873 (expensive log-argument evaluation) in Startup.cs/Services/AcknowledgmentService.cs, and an IDE0005 unused-using in Models/UserRole.cs
  • Bump Microsoft.AspNetCore.Authentication.JwtBearer/Microsoft.IdentityModel.Tokens/System.IdentityModel.Tokens.Jwt off the 8.x-pinned versions to versions aligned with .NET 10
  • Update .github/workflows/backend.yml (dotnet: ["8.0.x"]) to the .NET 10 SDK
  • Update Backend/Dockerfile builder/runtime images from dotnet/sdk:8.0/dotnet/aspnet:8.0 to .NET 10 equivalents
  • Update README.md (lines ~100-101) developer setup instructions from the .NET 8.0 SDK download link/Snap channel to .NET 10.0
  • Re-verify SIL-maintained dependencies (SIL.Core, SIL.DictionaryServices, SIL.Lift, SIL.WritingSystems, icu.net) still restore/work correctly against net10.0 — spot-checked and no issues found so far (they target netstandard2.0/net462/net48), but worth confirming again once the TFM bump PR is up

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Backend/BackendFramework.csproj and Backend.Tests/Backend.Tests.csproj, then inspect the listed analyzer locations and dependency versions. Run restore and the backend tests while checking .github/workflows/backend.yml and Backend/Dockerfile for runtime references. Done means the projects target .NET 10, restore succeeds without the noted warnings, analyzers pass, dependencies remain compatible, and README.md documents the updated SDK.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, docker, github-actions
Domain
backend, build-system, ci-cd, devops, documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.