Skip to content

Migrate all .NET Framework projects to .NET 8#13

Open
devin-ai-integration[bot] wants to merge 3 commits intomasterfrom
devin/1771359462-dotnet-framework-to-net8-migration
Open

Migrate all .NET Framework projects to .NET 8#13
devin-ai-integration[bot] wants to merge 3 commits intomasterfrom
devin/1771359462-dotnet-framework-to-net8-migration

Conversation

@devin-ai-integration
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot commented Feb 17, 2026

Migrate all .NET Framework projects to .NET 8

Summary

Migrates all 12 .NET Framework projects in this repository to .NET 8 (latest LTS), following the provided migration playbook. This is a large structural migration touching every project in the repo.

Projects migrated:

Project From To
WinForms/EqDemoWinFormsNet4 .NET 4.7.2 net8.0-windows
Wpf/EqDemoWpfNet4 .NET 4.7.2 net8.0-windows
WinForms/EqDemoWinFormsNet6 net6.0-windows net8.0-windows
Wpf/EqDemoWpfNet6 net6.0-windows net8.0-windows
AspNet4/Mvc/AdvancedSearch .NET 4.8 ASP.NET Core 8.0
AspNet4/Mvc/DataFiltering .NET 4.6.1 ASP.NET Core 8.0
AspNet4/Mvc/AdhocReporting .NET 4.6.2 ASP.NET Core 8.0
AspNet4/Mvc/AdhocReportingMetaData .NET 4.6.1 ASP.NET Core 8.0
AspNet4/Mvc/AdvancedSearch-Multilayered/FrontApp .NET 4.6.1 ASP.NET Core 8.0
AspNet4/Mvc/AdvancedSearch-Multilayered/ServiceApp .NET 4.6.1 ASP.NET Core 8.0
AspNet4/WebForms/AdvancedSearch .NET 4.6.1 WebForms ASP.NET Core 8.0
AspNet4/WebForms/VB.AdvancedSearch VB.NET WebForms ASP.NET Core 8.0 (C#)

Key technical changes:

  • All .csproj files converted to SDK-style format
  • Entity Framework 6 → Entity Framework Core 8.0.2
  • ASP.NET MVC/WebForms → ASP.NET Core with middleware
  • Global.asaxProgram.cs + Startup.cs
  • web.configappsettings.json
  • ConfigurationManagerIConfiguration (DI)
  • HttpContext.Current → dependency injection
  • OWIN Identity → ASP.NET Core Identity
  • Korzh.EasyQuery upgraded to 7.4.0 (ASP.NET Core compatible)
  • Old @Html.EqHighLightFor / @Html.PageNavigator helpers → ASP.NET Core tag helpers (<eq-highlight-text>, <eq-page-navigator>)

Updates since last revision

Build errors were discovered during local compilation and resolved:

  • Fixed Microsoft.Data.SqlClient version: 5.2.0 → 5.2.2 (required by Korzh.DbUtils.SqlServer 1.4.3)
  • Fixed Korzh.EasyQuery package name: MsSqlGateSqlServerGate
  • Removed old Identity infrastructure: Deleted obsolete IdentityModels.cs, Account/Manage view folders, and Views/Web.config files
  • Fixed Identity registration: Changed AddDefaultIdentityAddIdentity (AddDefaultIdentity not available in ASP.NET Core 8)
  • Fixed EasyQuery session cache: UseSessionCache()StoreQueryInCache = true (API changed in 7.4.0)
  • Fixed DataFiltering views: Updated to use ASP.NET Core tag helpers and proper API methods
  • Fixed VB.AdvancedSearch: Renamed .vbproj.csproj (code is now C#)
  • Removed duplicate Content items: SDK-style projects auto-include content files

Build status: 8 of 12 projects now compile successfully on Linux (WinForms/WPF projects require Windows to build).

Review & Testing Checklist for Human

⚠️ CRITICAL - This PR has been build-tested but NOT runtime-tested. The migration was performed on Linux where these Windows/.NET applications cannot run.

  • Runtime testing required: Each application must be run on Windows to verify functionality. Build success does not guarantee runtime correctness.
  • WinForms/WPF projects: 4 projects (WinForms Net4/Net6, WPF Net4/Net6) were not build-tested at all - they require Windows with Visual Studio to compile.
  • Identity flows: AdhocReporting and AdhocReportingMetaData lost their custom AccountController/ManageController. Verify that ASP.NET Core Identity provides sufficient UI scaffolding or if custom pages are needed.
  • EasyQuery API compatibility: Verify that Korzh.EasyQuery 7.4.0 API surface matches usage. Only compile-time errors were fixed - runtime behavior may differ.
  • Database migrations: EF6 migrations were removed but no EF Core migrations were created. Database schema changes may be required.
  • VB.AdvancedSearch rewrite: This project was completely rewritten from VB.NET to C#. Verify all functionality is preserved.
  • Connection strings: All use (localdb)\MSSQLLocalDB which is Windows-only. CI/deployment may need different connection strings.

Test Plan Recommendation

For each project:

  1. Run dotnet build on Windows - must succeed for all 12 projects
  2. Run dotnet run - must start without errors
  3. Navigate to the app in browser (for web apps)
  4. Test core EasyQuery functionality (query builder, data filtering, export)
  5. For Identity-enabled apps: test login/register/logout flows
  6. Verify database seeding works correctly
  7. Test any project-specific features

Notes

devin-ai-integration Bot and others added 2 commits February 17, 2026 20:28
- WinForms/EqDemoWinFormsNet4: Convert to SDK-style, net8.0-windows, EF Core 8.0
- Wpf/EqDemoWpfNet4: Convert to SDK-style, net8.0-windows, EF Core 8.0
- WinForms/EqDemoWinFormsNet6: Upgrade TFM from net6.0 to net8.0
- Wpf/EqDemoWpfNet6: Upgrade TFM from net6.0 to net8.0
- AspNet4/Mvc/AdvancedSearch: Convert to ASP.NET Core 8.0 with SDK-style project
- Remove EF6 migrations, AssemblyInfo, Global.asax, Web.config
- Add Program.cs, Startup.cs, appsettings.json for ASP.NET Core

Co-Authored-By: parker.duff@codeium.com <pwjduff@gmail.com>
- WinForms/EqDemoWinFormsNet4: .NET 4.7.2 -> net8.0-windows (SDK-style)
- Wpf/EqDemoWpfNet4: .NET 4.7.2 -> net8.0-windows (SDK-style)
- WinForms/EqDemoWinFormsNet6: net6.0-windows -> net8.0-windows
- Wpf/EqDemoWpfNet6: net6.0-windows -> net8.0-windows
- AspNet4/Mvc/AdvancedSearch: .NET 4.8 -> ASP.NET Core 8.0
- AspNet4/Mvc/DataFiltering: .NET 4.6.1 -> ASP.NET Core 8.0
- AspNet4/Mvc/AdhocReporting: .NET 4.6.2 -> ASP.NET Core 8.0
- AspNet4/Mvc/AdhocReportingMetaData: .NET 4.6.1 -> ASP.NET Core 8.0
- AspNet4/Mvc/AdvancedSearch-Multilayered/FrontApp: .NET 4.6.1 -> ASP.NET Core 8.0
- AspNet4/Mvc/AdvancedSearch-Multilayered/ServiceApp: .NET 4.6.1 -> ASP.NET Core 8.0
- AspNet4/WebForms/AdvancedSearch: .NET 4.6.1 WebForms -> ASP.NET Core 8.0 Razor Pages
- AspNet4/WebForms/VB.AdvancedSearch: VB.NET WebForms -> ASP.NET Core 8.0 (C#)

Key changes:
- Converted all .csproj to SDK-style format
- EF6 -> EF Core 8.0.2
- ASP.NET MVC/WebForms -> ASP.NET Core with middleware
- Global.asax -> Program.cs + Startup.cs
- web.config -> appsettings.json
- ConfigurationManager -> IConfiguration
- HttpContext.Current -> DI
- Korzh.EasyQuery upgraded to 7.4.0 (ASP.NET Core)

Co-Authored-By: parker.duff@codeium.com <pwjduff@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 and CI monitoring

… migration, rename VB project to C#

Co-Authored-By: parker.duff@codeium.com <pwjduff@gmail.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.

0 participants