Microsoft is previewing a Visual Studio IDE extension to upgrade older .NET-based applications to the latest versions of the .NET software development platform.
Downloadable from the Visual Studio Marketplace and called .NET Upgrade Assistant, the extension works with .NET Framework or .NET Core web and desktop apps to move apps to .NET 6, introduced in November 2021, or .NET 7, from November 2022. Migrations from 2020’s .NET 5 release also are possible.
In a February 15 blog post, Microsoft’s Olia Gavrysh, program manager for .NET, explained that upgrading applications, particularly from .NET Framework, has been a complicated process; now, developers using the extension will be able to upgrade by right-clicking on a project in Solution Explorer and choosing Upgrade.
The process still requires some work by developers. Although the extension will take care of the mechanics of upgrading, developers can expect to do some manual post-processing. Attempts are made to automatically fix breaking changes, but not all of them can be detected or fixed. Developers might need to make additional modifications to get code to compile. Testing is also needed to ensure code continues to work as expected.
Supported upgrade types include:
- In-place, with the original project upgraded all at once
- Side-by-side, with the project untouched and a copy added to the solution containing the upgraded code
- Side-by-side incremental, ideal for web applications and to establish a .NET 6/7 project while other calls will be sent to the .NET Framework application. This enables upgrades to be combined with feature development. Supported .NET upgrades include .NET Framework to .NET 6+, .NET Core to .NET6+, and .NET 5 to .NET 6+.
Current technologies supported by the tool include .NET, class libraries, console, WPF (Windows Presentation Foundation), and WinForms. Support is due soon for Xamarin to .NET MAUI migration, UWP (Universal Windows Platform) to WinUI migration, and WCF (Windows Communication Foundation) to WCF Core migration.
While these migration types are in development, developers already can upgrade these projects, but code fixers for these projects are lacking at this point. Developers can use the existing Upgrade Assistant command line tool, which already has code fixers. This support will follow soon for the Visual Studio extension.