Skip to content

Upgrade ASP.NET Core projects to .NET 9#42

Open
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1779900805-upgrade-aspnetcore-to-net9
Open

Upgrade ASP.NET Core projects to .NET 9#42
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1779900805-upgrade-aspnetcore-to-net9

Conversation

@devin-ai-integration
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot commented May 27, 2026

Summary

Upgrades all 15 ASP.NET Core projects under AspNetCore/ from .NET 6 or .NET 8 to .NET 9. Legacy projects (AspNet4/, WinForms/, Wpf/) are untouched.

Projects upgraded (15 total)

From .NET 8 → .NET 9 (7 projects):

  1. AspNetCore/Angular/AdHocReporting/AdHocReporting.Server
  2. AspNetCore/Angular/AdvancedSearch
  3. AspNetCore/Razor-Mvc/Mvc.DataFiltering
  4. AspNetCore/Razor-Mvc/Razor.AdHocReporting
  5. AspNetCore/Razor-Mvc/Razor.AdvancedSearch
  6. AspNetCore/Razor-Mvc/Razor.DataFiltering
  7. AspNetCore/Razor-Mvc/RazorTypeScript.AdHocReporting

From .NET 6 → .NET 9 (8 projects):
8. AspNetCore/Blazor/AdHocReporting.BlazorWasm/Client
9. AspNetCore/Blazor/AdHocReporting.BlazorWasm/Server
10. AspNetCore/Blazor/AdHocReporting.BlazorWasm/Shared
11. AspNetCore/Blazor/AdvancedSearch.BlazorServer
12. AspNetCore/React/AdvancedSearch
13. AspNetCore/Stencil/AdvancedSearch
14. AspNetCore/Vue2/AdvancedSearch
15. AspNetCore/Vue3/AdvancedSearch.Server

Package upgrades

  • Microsoft.EntityFrameworkCore.* → 9.0.16
  • Microsoft.AspNetCore.* → 9.0.16
  • Microsoft.Data.SqlClient → 6.0.2
  • System.Drawing.Common → 9.0.5
  • Microsoft.IdentityModel.JsonWebTokens / System.IdentityModel.Tokens.Jwt → 8.7.0
  • Microsoft.Extensions.Http → 9.0.5
  • Microsoft.AspNetCore.SpaProxy → 9.0.16

Breaking changes handled

  • Removed Microsoft.AspNetCore.SpaServices.Extensions (deprecated in .NET 9) from React, Stencil, Vue2, Vue3 projects. Removed AddSpaStaticFiles(), UseSpaStaticFiles(), and UseSpa() calls from Startup.cs, replaced with static file serving and MapFallbackToFile.
  • Removed Microsoft.AspNetCore.ApiAuthorization.IdentityServer (deprecated in .NET 9) from Blazor WASM Server project. Migrated AppDbContext from ApiAuthorizationDbContext<T> to IdentityDbContext<T>, replaced AddIdentityServer().AddApiAuthorization() with AddDefaultIdentity().AddAuthentication(), and updated OidcConfigurationController.
  • Replaced AddApiAuthorization() with AddAuthorizationCore() in Blazor WASM Client.
  • Cleaned up deprecated VueCliMiddleware references in Vue3.
  • Updated SpaProxy version from wildcard 6.*-* to explicit 9.0.16 in Vue3.

CI/CD

The existing workflow (archive2cdn.yml) only archives and uploads files — it does not use the .NET SDK, so no workflow changes were necessary.

Review & Testing Checklist for Human

  • Verify all 15 projects restore and build with dotnet build using .NET 9 SDK
  • Spot-check one or two Razor/MVC projects by running them locally to confirm the web UI loads
  • Test the Blazor WASM project (Client+Server+Shared) end-to-end since it had the most significant changes (ApiAuthorization → Identity migration)
  • Test one SPA project (React or Vue3) to verify the SpaServices.Extensions removal doesn't break dev workflow

Notes

  • All 15 projects build successfully with .NET 9 SDK (9.0.314) — only pre-existing nullable warnings remain (no new errors).
  • Korzh.EasyQuery.* and EasyData.* packages were kept at their current versions (7.4.0 and 1.5.9 respectively) as they are already compatible with .NET 9 and no newer versions are available.
  • Korzh.DbUtils.* packages kept at 1.4.1 (latest available).

Link to Devin session: https://app.devin.ai/sessions/6d85a8e2d12f4f3e91ae8269f69e8502


Devin Review

Status Commit
⚪ Not started

Run Devin Review

💡 Connect your GitHub account to enable automatic code reviews.

Open in Devin Review (Staging)

- Updated all 15 ASP.NET Core projects from .NET 6/8 to .NET 9
- Updated Microsoft.EntityFrameworkCore.* packages to 9.0.16
- Updated Microsoft.AspNetCore.* packages to 9.0.16
- Updated Microsoft.Data.SqlClient to 6.0.2
- Updated System.Drawing.Common to 9.0.5
- Updated Microsoft.IdentityModel.* and System.IdentityModel.* to 8.7.0
- Updated Microsoft.Extensions.Http to 9.0.5
- Removed deprecated Microsoft.AspNetCore.SpaServices.Extensions from React, Stencil, Vue2, Vue3
- Removed deprecated Microsoft.AspNetCore.ApiAuthorization.IdentityServer from Blazor WASM Server
- Migrated Blazor WASM Server from ApiAuthorizationDbContext to IdentityDbContext
- Replaced AddApiAuthorization with AddAuthorizationCore in Blazor WASM Client
- Updated SpaProxy version references for Angular and Vue3
- Cleaned up deprecated VueCliMiddleware references in Vue3

Co-Authored-By: shahmir.masood <shahmir.masood@cognition.ai>
@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 and CI 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