Skip to content

Upgrade Vue3/AdvancedSearch.Server to .NET 8#38

Open
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1777991111-net8-vue3-advancedsearch
Open

Upgrade Vue3/AdvancedSearch.Server to .NET 8#38
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1777991111-net8-vue3-advancedsearch

Conversation

@devin-ai-integration
Copy link
Copy Markdown

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

Summary

Upgrades the single project AspNetCore/Vue3/AdvancedSearch.Server from .NET 6 to .NET 8 per the parent task scope. No other projects/files are touched.

.csproj changes — AspNetCore/Vue3/AdvancedSearch.Server/AdvancedSearch.Server.csproj

Item Before After
TargetFramework net6.0 net8.0
Microsoft.EntityFrameworkCore.Sqlite 6.0.1 8.0.26
Microsoft.EntityFrameworkCore.SqlServer 6.0.1 8.0.26
Microsoft.AspNetCore.SpaProxy 6.*-* 8.0.26
Microsoft.AspNetCore.SpaServices.Extensions 6.0.1 removed (deprecated/unsupported in .NET 8)
Newtonsoft.Json 13.0.3 removed (BCL System.Text.Json covers needs; no source usages existed in this project)
System.Data.SqlClient 4.8.6 removed (provided by .NET 8 BCL)
System.Net.Http 4.3.4 removed (provided by .NET 8 BCL)
System.Text.RegularExpressions 4.3.1 removed (provided by .NET 8 BCL)

Other packages (Korzh.DbUtils.*, EasyData.Exporters.*, Korzh.EasyQuery.*) are intentionally untouched per scope rules. The existing <SpaProxyServerUrl> / <SpaProxyLaunchCommand> MSBuild properties remain — they are how Microsoft.AspNetCore.SpaProxy 8.0.x wires up the dev-time proxy to the Vite dev server.

Code changes — AspNetCore/Vue3/AdvancedSearch.Server/Startup.cs

  • Removed the dead, commented-out app.UseSpaStaticFiles() block (lines that referenced the now-removed Microsoft.AspNetCore.SpaServices.Extensions).
  • Removed the dead, commented-out app.UseSpa(spa => { ... spa.UseVueCli(...); spa.UseProxyToSpaDevelopmentServer(...); }); block (same reason).

Rationale: with SpaServices.Extensions removed, those commented references are misleading — SpaProxy (kept) handles dev-time proxy via the MSBuild properties, and production serves static files from wwwroot via the existing app.UseStaticFiles(). No active code paths changed.

No Newtonsoft.Json usages existed in the C# source under AspNetCore/Vue3/AdvancedSearch.Server/ — only the <PackageReference> was present, so removing the package required no code edits.

Program.cs is unchanged (it already uses Host.CreateDefaultBuilder which is fully supported in .NET 8).

Build commands and result

dotnet restore AspNetCore/Vue3/AdvancedSearch.Server/AdvancedSearch.Server.csproj
dotnet build  AspNetCore/Vue3/AdvancedSearch.Server/AdvancedSearch.Server.csproj -c Release --no-restore

Result on local VM (.NET SDK 8.0.420):

    61 Warning(s)
    0 Error(s)

Time Elapsed 00:00:22.35

All 61 warnings are pre-existing CS8618 / CS8602 nullable-reference-type warnings in Models/NWind/*.cs and Seed/DbInitializeExtensions.cs. They are unrelated to the .NET 8 upgrade — <Nullable>enable</Nullable> was already set on master, the model classes simply don't declare the required modifier or nullable types. Out of scope to fix here.

CI status

To be reported in the final session message after polling via git(action="pr_checks", wait_mode="all").

Review & Testing Checklist for Human

Risk: yellow (single project, mechanical package bump + dead-code removal, but transitive impact on EasyQuery / EF Core 6 → 8 compatibility is worth a runtime smoke).

  • Run the project locally (dotnet run --project AspNetCore/Vue3/AdvancedSearch.Server) and confirm the EasyQuery endpoints (/api/easyquery/*) still respond and the demo SQLite DB initializes via app.EnsureDbInitialized(...).
  • Open the SPA (Vite dev server) and exercise a sample advanced-search query end-to-end to verify EF Core 8 + the Korzh EasyQuery 7.4.0 packages still cooperate at runtime (the EasyQuery packages target older EF Core but build fine; runtime is the real test).
  • Confirm the Microsoft.AspNetCore.SpaProxy 8.0.x dev-time proxy still launches the Vite client via <SpaProxyLaunchCommand>npm run dev</SpaProxyLaunchCommand> on https://localhost:5173.

Notes

  • Scope is strictly limited to AspNetCore/Vue3/AdvancedSearch.Server/. No .sln, Directory.Build.props, global.json, sibling project, or ClientApp/ files were modified.
  • Microsoft.EntityFrameworkCore.SqlServer was bumped to match the Sqlite version even though it isn't actively wired in Startup.cs (UseSqlServer is commented), to keep the EF Core stack on a single 8.0.x line.

Link to Devin session: https://app.devin.ai/sessions/1941d467ab9a45c4bf4750b00d8fead1
Requested by: @tobydrinkall


Devin Review

Status Commit
⚪ Not started

Run Devin Review

💡 Connect your GitHub account to enable automatic code reviews.

Open in Devin Review (Staging)
Open in Devin Review

- Bump TFM to net8.0
- Bump Microsoft.EntityFrameworkCore.Sqlite/SqlServer to 8.0.26
- Bump Microsoft.AspNetCore.SpaProxy to 8.0.26
- Remove Microsoft.AspNetCore.SpaServices.Extensions (deprecated in .NET 8); SpaProxy MSBuild props remain for dev-time proxy
- Remove Newtonsoft.Json (no source usages; System.Text.Json from BCL covers any future needs)
- Remove System.Data.SqlClient, System.Net.Http, System.Text.RegularExpressions (provided by .NET 8 BCL)
- Remove dead UseSpa/UseSpaStaticFiles commented blocks in Startup.cs that referenced deprecated SpaServices.Extensions APIs

Co-Authored-By: Toby Drinkall <toby.drinkall@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

Copy link
Copy Markdown
Author

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

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