The “New” .NET Series

.NET MIGRATION GUIDE
Your journey to .NET is more than just a decision. Plan and Execute the right way.

The “New” .NET Series

.NET keeps moving forward, getting faster, more flexible, and more unified with every release.

What started as a big shift to modern .NET has become the go-to foundation for building crossplatform, high-performance apps. Still, figuring out how to make the most of those improvements and how to plan your migration can be tricky.

This guide walks you through how .NET has evolved, what’s new, and how you can simplify your move to the latest version. Because getting the most out of .NET isn’t just about updating your codebase, it’s about shifting how your team builds, ships, and improves software every day.

What is the “New” .NET series?

.NET is Microsoft’s software framework and development platform. It didn’t develop linearly, so confusion is understandable. .NET 5 was almost a complete reimagining of the old .NET Framework and was the first major update since the 2016 release of .NET Core. Both .NET Core and Framework were maintained in parallel, allowing you to choose between one or the other, leveraging .NET Standard to make shared libraries between the two.

But .NET deprecates .NET Framework, meaning you can only use .NET Framework as long as your operating systems (for example, Windows Server 2019) still support it. And with Microsoft shortening its support lifecycles, your operating system’s end-of-life will come sooner than you may think. The most important takeaway is that, within 15 years, .NET will be pretty much the only .NET development platform.

Microsoft described .NET 5 as “.NET Core v.Next ,” a continuation of .NET Core. They chose to drop “Core” from the name to avoid confusion and indicate the major changes in .NET 5.

Throughout this guide, we refer to “.NET” to indicate the current .NET (in the spirit of the collective terms “.NET Core” and “.NET Framework”). Microsoft intends to release a major version every November, with only even-numbered .NET versions after 5 (6, 8, etc.) containing long-term support. Because of this, you’ll need to plan for regular updates to your code as part of ongoing maintenance.

What’s So Special about the current .NET series?

.NET 5 introduced many major and minor changes to the .NET ecosystem. The official Microsoft Blog, as well as the .NET 5 documentation, go over many of the features that differentiate .NET from .NET Framework or .NET Core. Here are the highlights:

  • side-by-side installations
    • install a new version and not worry about breaking existing apps
  • self-contained applications
    • applications can embed .NET, so .NET does not need to be on the computer
  • not being a component of the Windows operating system
  • Continued innovation on the best qualities of .NET Core, such as:
    • Improved performance and new performance-focused APIs
    • Improvements made to C# and F#, along with extended Visual Basic support
    • Additional development for supported .NET Core and .NET Framework technologies being brought into .NET

They continue to explain that they also “made .NET Core open source and cross-platform.” .NET is meant to help you lower risk, more efficiently develop, and (by extension) increase market share. But all this will require some serious up-front preparation.

Changes and Deprecations since .NET 5

Unlike other changes to .NET in the past, where you could just let your on-the-ground developers take care of things, the .NET releases can seriously impact large parts of your code. Some essential .NET Framework features are being transitioned to end-of-life. This means you
need to plan for the migration of your applications to newer versions of .NET. A later chapter specifically details these deprecations, but here are the basics.

ASP.NET Web Forms

ImpactsWeb Applications
Replacement✘ No Replacement
Microsoft recommends ASP.NET Core Blazor or Razor Pages.
Problem⚠️ Full Rewrite Required
You’ll have to rewrite your applications from scratch to get away from ASP.NET Web Forms, though this will likely be unnecessary for many years.

Windows Communication Foundation (WCF)

ImpactsNetwork-connected Applications
Any applications that use service-oriented architecture/API to connect to other applications or services over a network where the service endpoint is built using WCF.
Replacement️⚠️ Community/ Open-source Replacement
The open-source community has created CoreWCF, now supported by Microsoft. It offers an option to migrate, but it is not a full implementation. Microsoft also recommends gRPC as an alternative to WCF. Visual ReCode significantly simplifies this transition.
Problem⚠️ Rewrite or Migration
You’ll either have to rewrite your APIs from scratch to convert to either gRPC or ASP.NET Core Web API, or migrate your code to CoreWCF and risk losing some features you might need.

Windows Workflow Foundation (WF)

ImpactsApplications with Workflows
Any application or service that uses workflow libraries (the tools around building and running workflows).
Replacement✘ No Official Replacement
⚠️ Community/ Open-source Alternative
The open-source community has created CoreWF. It isn’t a full implementation at this time and is not an easy drop-in replacement like CoreWCF.
Problem⚠️ Full Rewrite or Community Reliance
You’ll either have to find, learn, and rewrite code from scratch to a thirdparty, “off-the-shelf” library, or you’ll need to port your code to CoreWF and risk losing some features you might need.

Your .NET Migration

There are some certainties about the .NET migration that will apply to every organization:

  • YES, you eventually must migrate.
  • The bulk of the costs to your organization will be in time and effort rather than in monetary expenses.
    • Retraining and migration time will be the largest expense, as there aren’t
      migration programs available for purchase at this time.
  • How you deploy .NET applications will be virtually the same, except for web applications, and the day-to-day of your pipelines will also change very little.
    • In the future, Microsoft will likely remove the requirement to use IIS for web applications.
    • MSBuild is replaced with the .NET CLI, which is substantially similar.
  • Only your individual case will determine the amount of RETRAINING your staff will need and how COMPLEX the migration process will be.

Besides these certainties, your individual case is unique and must be assessed individually with the appropriate stakeholders. We will emphasize throughout this guide that there is no ‘magic bullet’ solution for deciding what, when, and how to migrate your applications to .NET.

What’s in This Guide?

This guide provides information and some general advice to help smooth your migration process. We begin with the most important consideration: deciding when to make the switch. Just because it’s an inevitability doesn’t mean migrating as soon as possible is the right choice.

We then go into detail about the major technologies deprecated by .NET: ASP.NET Web Forms, Windows Communication Foundation, and Windows Workflow Foundation. (Spoiler: They’re not part of .NET, but they aren’t dead yet either!)

Next, we discuss some options for rewriting your code. It takes effort, but it doesn’t have to be an ordeal!

Finally, you’ll learn how you can release faster by modularizing your .NET releases and using CI/CD, no matter what .NET platform your applications target. We hope that reading this guide will help you make the best possible plans for your applications, your organization, and yourself. Happy migrating!