Roadmap › ASP.NET MVC 5 (.NET Framework) — Folder Structure, Request Life Cycle and Features › Module: Application Concerns
Lessons in this course (10)
10. MVC 5 vs ASP.NET Core MVC and migration
Advanced★ Must knowLesson 10 of 10
| Topic | MVC 5 (.NET Framework) | ASP.NET Core MVC |
|---|---|---|
| Hosting | IIS only (System.Web) | Kestrel, IIS, Linux, containers |
| Startup | Global.asax + App_Start + web.config | Program.cs (WebApplication builder) + appsettings.json |
| Pipeline | HttpModules/HttpHandlers | Middleware |
| DI | Third-party via DependencyResolver | Built in |
| MVC + Web API | Separate frameworks | One framework (ControllerBase) |
| Child actions | Html.Action | View components |
| Helpers | HTML helpers | Tag helpers (+ HTML helpers) |
| Bundling | System.Web.Optimization | Static files + build tools (Vite/Webpack/LibMan) or WebOptimizer |
| Config | ConfigurationManager.AppSettings | IConfiguration, Options pattern |
| Auth | OWIN/Identity 2, Forms auth | ASP.NET Core Identity, cookie/JWT handlers |
| Static files | Served by IIS | UseStaticFiles() from wwwroot |
Migration path: move business/data logic into libraries; create a new ASP.NET Core project; port controllers (mostly the same code), views (mostly the same Razor, replace child actions and bundling), filters (similar interfaces), configuration and DI; use the .NET Upgrade Assistant and System.Web adapters; for big apps migrate incrementally behind YARP (route migrated paths to the new app, the rest to the old app, share authentication).