Roadmap › Modern .NET — Hosting, Configuration, DI & Deployment › Module: Deployment and Performance
Lessons in this course (9)

9. Migrating from .NET Framework to modern .NET

Advanced★ Must knowLesson 9 of 9
  1. Inventory: target framework, NuGet packages, use of System.Web, WCF, Web Forms, AppDomains, Remoting, Windows-only APIs.
  2. Upgrade dependencies to versions that support .NET Standard 2.0 / modern .NET.
  3. Convert projects to SDK-style .csproj; move class libraries to netstandard2.0 or multi-target first.
  4. Use .NET Upgrade Assistant (or GitHub Copilot app modernization) to automate conversions.
  5. ASP.NET MVC/Web API → ASP.NET Core (incrementally with YARP reverse proxy + System.Web adapters — Strangler Fig).
  6. Replace: web.config app settings → appsettings.json + Options; HttpContext.Current → injected IHttpContextAccessor; Global.asax → Program.cs middleware; WCF server → gRPC/REST or CoreWCF; EF6 → EF Core (or keep EF6, which runs on .NET Core 3.1+).
  7. Test thoroughly, benchmark, deploy side by side, switch traffic gradually.