4 Questions to Ask Before Migrating to .NET 6
.NET 6 has arrived! If you’re using .NET Framework, it’s time to start planning. If you’re on .NET 5, the time to upgrade is now.
The latest release has brought matured and upgraded features from .NET 5 to .NET 6. Security has been improved; Hot Reload introduces a faster way to view changes; with C# 10 and F# 6, developers can make code simpler and more expressive; and much, much more.
Most importantly, .NET 6 will be supported for three years, almost three times as long as .NET 5 will be supported.
We’ve put together four major questions any DevOps department should consider in their migration toward .NET 6.
“Do I really need to migrate?”
If you’re operating with .NET 5: Yes, upgrade to .NET 6.
There are several benefits to .NET 6, but the most important is the long-term support. Microsoft will support this release for 3 years, unlike .NET 5 which will lose support on May 8th, 2022.
Although it’s a “major number” increase, the new .NET series is incremental in its changes. Think of it like 4.7 to 4.8, and less like 4.6 to 5.0. If you’ve already migrated from your old .NET Framework applications to .NET 5, then it’s a simple setting in Visual Studio to start using .NET 6. Everything should mostly work the same way.
If you’re operating with .NET Framework: Not yet – but start planning for it.
.NET Framework will be supported indefinitely since it’s tied to the operating system. The issues come from the reliance on the said operating system. If you have an old OS, you cannot guarantee that your next OS will allow you to install Framework (or whichever older version of .NET you want to install). If you can, you’ll likely need some serious workarounds to get proper functionality.
If you were already planning on migrating and needed that extra push, .NET 6 is your catalyst, since it’s more mature than .NET 5 and has long-term support.
“What will it cost to migrate?”
As you can expect, it will cost time and effort to migrate to .NET 6, but not money since there’s no price for upgrading.
If you’re upgrading from .NET 5 to .NET 6, the cost will be minimal – and might be as simple as changing the target framework in your Visual Studio project.
If you skipped .NET 5 and are upgrading from .NET Framework or .NET Core, it’ll cost a lot more time and human resources. Expect some delays in moving your NuGet libraries and/or retraining your team.
You may find some help with Microsoft’s .NET Upgrade Assistant, but the migration will still be time-consuming if your organization rarely upgraded in the past.
“How much retraining will developers need?”
Well, that depends. Groups migrating from .NET 5 will need minimal retraining, specifically related to the new features .NET 6 brings.
Teams coming from ASP.NET Web Forms or Windows Workflow Foundation will need to learn a lot like the ASP.NET MVC design pattern or the new workflow library.
Although .NET 6 has basic foundations similar to .NET Framework, .NET Core, or .NET 5, it’s always important to allocate time to training as for any other new tool.
“How will my application deployments change?”
There is virtually no difference between how a .NET 5 application is deployed compared to a .NET 6 application. The same can be said for a .NET Framework application; the only difference is that .NET 6 requires a module to be installed into IIS (but this dependency is expected to change in the future.)
Migrating from .NET Framework, you won’t see significant changes in the day-to-day of your pipelines, but your build will need to change. Most Framework code is compiled using MSBuild, but .NET 6 uses .NET CLI. It’s an important difference since not all MSBuild features and functionalities carry over into .NET CLI.
Plan Your .NET 6 Migration
Whether you’re coming from .NET Core, .NET Framework, or .NET 5, it’s important to have a migration plan to the newer .NET releases. Deprecation can and will happen for every .NET release, so frequent upgrades will keep you and your team ready for anything.
Upgrading to .NET 6 is a big deal; Implementing best practices like Semantic versioning and choosing the best migration strategy for your package libraries will help you in the long term as .NET upgrades continue to release year over year.
Using NuGet to make your .NET packages? Learn how to optimize your NuGet in the Enterprise; sign up for our NuGet guide.