Skip to content

Upgrade assets-svc from .NET 8 to .NET 10 (LTS) - #34

Merged
GeekTrainer merged 1 commit into
mainfrom
geektrainer/net10-upgrade
Aug 18, 2026
Merged

Upgrade assets-svc from .NET 8 to .NET 10 (LTS)#34
GeekTrainer merged 1 commit into
mainfrom
geektrainer/net10-upgrade

Conversation

@GeekTrainer

Copy link
Copy Markdown
Owner

Part A — app baseline .NET 8 → .NET 10

Moves the modern assets-svc service to the current .NET 10 LTS. There is no pedagogical reason for .NET 8 — only the Java audit-svc is intentionally dated (the Module 6 modernization target). Java services are untouched.

Changes

  • Target framework net8.0net10.0 in AssetsService.csproj and Tests/AssetsService.Tests.csproj.
  • NuGet (reconciles/supersedes Dependabot Bump the assets-svc-dependencies group with 3 updates #30):
    • Dapper 2.1.35 → 2.1.79
    • Microsoft.Data.Sqlite 8.0.4 → 10.0.11
    • Swashbuckle.AspNetCore 6.6.2 → 10.2.3
    • Test deps → net10-compatible stable: Microsoft.AspNetCore.Mvc.Testing10.0.11, Microsoft.NET.Test.Sdk18.9.0, xunit2.9.3, xunit.runner.visualstudio3.1.5
  • Devcontainer dotnet feature 8.010.0. devcontainer-lock.json regenerated via devcontainer upgradeno change (the lock pins the feature installer, which is SDK-channel-agnostic and already resolves .NET 10).
  • Dockerfile dotnet/sdk:8.0 + dotnet/aspnet:8.0:10.0 (functional: a net10 assembly won't run on the aspnet:8.0 runtime). Authored here, not by merging Dependabot Bump the docker-base-images group across 7 directories with 6 updates #29.
  • Docs: README.md, CONTRIBUTING.md, services/assets-svc/README.md, PR template, and both issue templates .NET 8.NET 10.

Verification (net10; host dotnet 10.0.203)

  • dotnet build — ✅ green (both projects target net10.0).
  • dotnet test — ✅ green (2/2). Note: main only carries 2 test files; the "28 tests" figure is the post-delta learner-branch state and is validated in Part B.
  • App start — ✅ dotnet run on :5001 serves /swagger/index.html (200), /swagger/v1/swagger.json (200), /assets (200); SQLite schema/seed init OK.
  • Docker build not run on host (no daemon); Dockerfile images bumped for CI/devcontainer.

Scope / constraints

Note

Part B (learner-branch re-baseline) is planned separately and not in this PR. Because learner branches derive from the pinned tooling-free acc-base (not main), merging this does not move them. Part B re-baselines onto a new tooling-free base and re-derives the deltas (delta_01 + delta_05 hard-conflict on the net8 context). See the session plan; nothing there executes until this merges and Part B is approved.

Move the modern assets-svc service to the current .NET 10 LTS across the app
baseline. There is no pedagogical reason for .NET 8 (only the Java audit-svc is
intentionally dated as the Module 6 modernization target).

- TargetFramework net8.0 -> net10.0 (AssetsService.csproj + Tests csproj)
- NuGet (reconciles Dependabot #30): Dapper 2.1.79, Microsoft.Data.Sqlite 10.0.11,
  Swashbuckle.AspNetCore 10.2.3; test deps to net10-compatible stable
  (Mvc.Testing 10.0.11, Test.Sdk 18.9.0, xunit 2.9.3, runner.visualstudio 3.1.5)
- devcontainer dotnet feature 8.0 -> 10.0 (lock unchanged: feature installer is
  SDK-channel-agnostic)
- assets-svc Dockerfile sdk/aspnet 8.0 -> 10.0 (net10 runtime)
- Docs: README, CONTRIBUTING, assets-svc/README, PR + issue templates .NET 8 -> .NET 10

Verified on net10: build + tests green, service starts on :5001 (Swagger + /assets 200).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.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