ASP.Net Core
MVC
Differences from .net 4.5/MVC 5
Core/net5/net6 has changed design several times
- Project
- Revised (minimal) version of csproj, including PackageReference(nuget) Pre 2016 it was xproj and project.json
- References are now Nuget packages (dependencies in project.json csproj)
- No global.asax
- Core/net5: program.cs and startup.cs
- net6: program.cs
- It is multi-platform (linux servers/containers).
- Asp
- No Asp lifecycle events- it has OWIN type middleware
- You can't just deploy the asp project folder. The web root is now the wwwroot folder. You need to Publish (to Release/publish folder) which puts the web.config/exe/dlls top and copies wwwroot below.
- No bundling - use LigerShark.WebOptimizer.Core or gulp instead
- Front-end resources (jquery etc) are not nuget any more.
- Dependency injection is pervasive (not service-locator as before)
- MVC and WebApi are the same now, not parallel frameworks with misleading similarities (2 different AuthorizeAttributes)
- Less IIS. For core 2 you used kestrel to IIS, but we're back in IIS now.
- A minimal, static web.config. All configuration settings are via the configuration system- environment variables, json files..