Migrate from .NET Framework 4.8 to .NET 7 #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Migrate from .NET Framework 4.8 to .NET 7
Summary
This PR migrates the ASP.NET MVC 5 application from .NET Framework 4.8 (Windows-only) to .NET 7 (cross-platform). The migration includes:
.csprojformat to modern SDK-style targetingnet7.0Global.asaxwithProgram.csusing ASP.NET Core's minimal hosting modelWeb.config(XML) toappsettings.jsonandlaunchSettings.jsonSystem.Web.Optimizationbundling with manual<script>and<link>tags and custom static file providers fornode_modules/,Content/, andWebApp/directoriesLandingControllerto useMicrosoft.AspNetCore.Mvcbase classes (IActionResultinstead ofActionResult)The application now runs cross-platform on Windows, macOS, and Linux.
Review & Testing Checklist for Human
test-component) and directives (test-directive) render correctly and display the expected jQuery and AngularJS versions. The automated tests only verify text content, not full functionality.dotnet buildanddotnet run, then navigate tohttp://localhost:51267to verify the application starts correctly and displays the landing page with title "XLTS for AngularJS with .NET 7".PhysicalFileProvidersetup fornode_modules,Content, andWebAppdirectories is non-standard. Verify this approach aligns with your deployment strategy.Test Plan
npm installto install frontend dependenciesdotnet buildto verify compilationdotnet runto start the serverhttp://localhost:51267in your browsernpm run e2eto execute Playwright testsNotes
Link to Devin run: https://app.devin.ai/sessions/c2a5ce64da394e19b083e338a142727d
Requested by: Jia Wu (@JRWu)