Migrate .NET Framework 4.8 to .NET 5

Viewed 30816

Recently Microsoft has release .NET 5. If we want to upgrade .NET Framework 4.8 to .net 5 then how can we accomplish this task.

Please Note :

  1. I had already upgrade Visual Studio 18.2 with all latest component and .net Framework 5. But in project property .net 5 is not displayed.

  2. My application is in .net Framework not in .net core.

Update Feb 02, 2021 Same Question I had posted on Microsoft Forum and luckily they replied very positively.

https://developercommunity2.visualstudio.com/t/net-framework-48-upgrade-to-net-5/1269991?from=email&viewtype=all#T-ND1352565

Update August 2021

Message from Microsoft

We’ll continue to make the .NET Upgrade Assistant better through previews that will coming out in the GitHub repo. You can find it here: https://github.com/dotnet/upgrade-assistant

Happy upgrading!

3 Answers

You didn't mention what's the type of your project. But in general, you should follow the official docs. For example, for winforms projects, see How to migrate a Windows Forms desktop app to .NET 5.

Most likely, as the first thing, you will need to edit your project file manually and change it to the SDK style, as described in the article above:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
   ...
  </PropertyGroup>

</Project>

.NET 5 is the evolution of .NET core. So it is not a trivial change. Firstly, you need to have Visual Studio 2019 (v16.8) (make sure that include .NET in the installation). Second, you need to review if all your NuGet packages and libraries support this (and update it or look for a replacement). Additionally you can take a look if any of the breaking changes affect you https://docs.microsoft.com/en-us/dotnet/core/compatibility/5.0. Keep in mind that .NET 5 is not an LTS, meaning that it will not be supported when .NET 6 comes out.

Depending on your architecture (layers of separations), how big is your solution and if you are using .NET standard for libraries, will depend on the effort you need to do (you might also need to do some refactoring). Anyhow you should plan this thoroughly since is not a trivial migration.

Related