New tool may help you upgrade from .NET Framework to .NET 5

Get a free Techzine subscription!

The .NET Upgrade Assistant is unsupported by Microsoft and doesn’t even work completely.

Latest news flash from Microsoft’s Ignite event this week: the company has previewed a new upgrade assistant to help developers port .NET Framework applications to .NET 5.0. The caveat here, however, is that this tool is still a long way from general release, and it doesn’t offer a complete solution.

Developers have had a thorny issue to deal with ever since Microsoft dumped their .NET Framework in order to become the open source .NET Core (now just known as .NET). The.NET Framework users soon realized there was no easy upgrade path for existing .NET Framework applications.

Let’s be clear: the .NET Framework is still supported. The .NET version 4.5.2 and later are considered Windows components and therefore benefit from the support lifecycle for Windows. Older .NET Framework versions are more problematic, but it’s something we just have to live with. After all, the upgrade to 4.x is easier than porting to .NET Core.

Meet the .NET Upgrade Assistant

At Ignite, Microsoft introduced its new tool called .NET Upgrade Assistant, which is based on try-convert. Principal PM Lead Cathy Sullivan introduced the product in a blog post post this week.

“The tool automates more tasks in the upgrade process that you would normally do manually like upgrading to the new SDK-style project format, re-targeting them to .NET 5 and updating NuGet package dependencies,” said Sullivan.

“The difference between this tool and others is that you can see the recommendations every step of the way and you can choose what and how your code is upgraded.”

The tool supports multiple project types, according to Sullivan. “It’s ready to help you upgrade your ASP.NET MVC, Windows Forms, and WPF apps, in addition to console apps and libraries. We’ll add more project types in later previews,” she added.

The .NET Upgrade Assistant is in preview and open source available on GitHub.