We are about six months into the .NET 5 era, with a little over half a year left until the planned release of .NET 6. A big question for those considering hopping onboard .NET 5 is, “Should I just wait for .NET 6?”
Let’s briefly discuss the general reasons why you may want to migrate now and the reasons why you may want to wait for .NET 6 or beyond.
Why Make the Migration Now?
The obvious reason is there are six months where you can take advantage of the newest .NET and get a headstart on transitioning to .NET 6. Here are some circumstances where transitioning now may be worth the stretch:
If you plan on upgrading .NET every release, starting now can save you time later. If Microsoft plans on releasing a new .NET every year, upgrading from .NET 5 -> .NET 6, .NET 6 -> NET 7 shouldn’t be too hard (we hope). If you transition your application to .NET 5 in the coming months, you will have an easier upgrade by the time .NET 6 roles around. And that whole time, you would have been able to take advantage of all the improvements over .NET Framework and .NET Core already present in .NET 5.
It’s possible migrating is not a far stretch. The transition to .NET 5 isn’t going to be difficult for every application. It’s worth spending a bit of time gauging how difficult migration will be for your specific application if you haven’t already. The main difficulties will come from either .NET Framework technologies unavailable on the new .NET (although, if you use WCF, take a look at Visual ReCode), or individual dependencies like NuGet Libraries that are not compatible with the new .NET. The main .NET Framework technologies left behind can be found in Microsoft’s porting documentation. As far as other dependencies, it is worth using the .NET Portability Analyzer to see where your application stands. If you do not use any of the unavailable .NET Framework technologies and have no additional problematic dependencies, migrating now may not be so hard. Possibly worth the performance bump and cross-platform capabilities provided by .NET 5.
Why Wait for .NET 6?
Migrating may not be a priority for your application. If you have other updates you want to work on between now and November, there’s no reason to squeeze in a .NET 5 migration arbitrarily. In many cases, the benefits of .NET 5 are not enough to push the needle. These are some scenarios in which it would not make sense to migrate to .NET 5 and just wait for .NET 6.
If you plan only to use long-term support releases, .NET 6 is the first one. .NET 5’s support period ends as soon as .NET 6 is released (you can get a full rundown of the support periods for .NET here). If you hop onto .NET 6 at release, you will have three full years of support before needing to switch to another version of .NET. Sure, the support period isn’t impressive compared to .NET Framework’s, but three years is the new max, and you can get under that umbrella starting with .NET 6.
You may not be ready to migrate until the release for .NET 6. In the previous section, I said your migration might not be much of a stretch. Well, the other side to that coin is that your migration may actually be quite difficult. Suppose you have many different dependencies that need to be replaced/updated before you can move to .NET 5. In that case, it might be worth spending the extra time putting yourself in an excellent position to make those replacements once .NET 6 rolls out instead of dropping everything else to rush and solve complex migration problems. If you don’t need any features from .NET 5 right now but have other projects to worry about, take .NET 5 off the table and don’t think about migrating until .NET 6.
Should I Wait Beyond .NET 6?
If you plan on upgrading to the newer version of .NET eventually, there are not many reasons to wait beyond schedule difficulties. But if you don’t know whether you want to migrate or not, consider that not even Microsoft recommends migrating for all applications. Specifically, in cases where you rely on .NET Framework technologies not available in .NET 5. So, for now, you are entirely safe waiting for any features that make the transition worth it to you.
But if you are looking to switch to .NET 5 and rely on an embedded database for your application, the good news is that VistaDB 6.1 supports .NET 5. One less dependency you have to worry about when migrating. But VistaDB continues to support versions of .NET Framework and .NET Standard as well. You can check out the release notes for our most recent release in the link below.