Skip to content

Migrate solution from .NET 7 to .NET 9 - #63

Open
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1783604885-net9-migration
Open

devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1783604885-net9-migration

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary

Upgrades the entire clean-architecture solution from net7.0 to net9.0 and bumps all NuGet packages to their .NET 9-compatible releases.

  • Target framework: net7.0net9.0 in all six projects (Domain, Application, Infrastructure, WebApi, Application.Tests, WebApi.Tests).
  • WebApi packages: AspNetCore.HealthChecks.NpgSql 7.0.0 → 9.0.0, Microsoft.AspNetCore.OpenApi 7.0.9 → 9.0.7, Microsoft.EntityFrameworkCore.Design 7.0.10 → 9.0.7, Swashbuckle.AspNetCore 6.5.0 → 7.2.0.
  • Infrastructure packages: EF Core (Core/Design/SqlServer/Tools) 7.0.10 → 9.0.7; Npgsql 7.0.4 → 9.0.3, Npgsql.EntityFrameworkCore.PostgreSQL(.NodaTime) 7.0.4 → 9.0.4.
  • Test packages: Microsoft.NET.Test.Sdk → 17.12.0, xunit → 2.9.3, xunit.runner.visualstudio → 3.0.2, coverlet.collector → 6.0.4, FakeItEasy → 8.3.0.
  • Dockerfile: aspnet:7.0/sdk:7.09.0.
  • CI (.github/workflows/dotnet.yml): dotnet-version 6.0.x9.0.x (previously inconsistent with the project TFM); actions/checkout@v3v4, actions/setup-dotnet@v3v4.
  • Docs: README.md and GRAPHQL_SPEC.md references updated from .NET 7 to .NET 9. Repository not renamed (clone URL left intact).

Breaking-change review

  • OpenAPI: Program.cs uses Swashbuckle (AddSwaggerGen/UseSwagger/UseSwaggerUI) with AddEndpointsApiExplorer, not the new .NET 9 AddOpenApi/MapOpenApi model — no code change required.
  • Npgsql/EF Core 9 + NodaTime: UseNodaTime() still applies via the NodaTime plugin; domain entities use plain Guid/string (no NodaTime CLR types), so type-mapping changes have no code impact.

Verification

dotnet restore, dotnet build, and dotnet test all succeed on .NET 9 SDK 9.0.315 — 20/20 tests pass (6 Application.Tests, 14 WebApi.Tests). Remaining build warnings (nullable CS8604/CS8625) are pre-existing and unrelated to the migration.

Link to Devin session: https://app.devin.ai/sessions/6db7132c8bd14fdb8ecfb77d6617ac09
Requested by: @detectiveharree


Devin Review

Status Commit
⚪ Not started

Run Devin Review

Open in Devin Review (Staging)

Co-Authored-By: harrison.reeves <harrisonreeves00@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

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.

0 participants