5

I have a WPF application running with .NET 4.6.1.

As .NET 4.6.1 has reached it's end of support I'd like to upgrade the .NET version.

I wonder which .NET version to choose to achieve the "longest" OS support.

As stated above there doesn't seem to be any end date for .NET Framework 4.8. On the other hand, Microsoft notes that .NET 6 will be supported until November 12, 2024.

Question is: at current time, which .NET version has the longest support range, .NET Framework 4.8 or .NET Core (.NET 6)?

Abid
  • 565
  • 1
  • 5
  • 15
  • 2
    As indicated in the [lifecycle FAQ](https://learn.microsoft.com/lifecycle/faq/dotnet-framework), .NET Framework support is now tied to the Windows OS. As .NET 4.8 is supported on Windows 11, it will be supported for at least as long as Windows 11 is. After that, we don't know, which is also why there's no end date yet. Purely technically speaking, .NET 4.8 will be supported longer as it's a fair bet that Windows 11 is going to last beyond 2024. – Jeroen Mostert May 28 '22 at 07:52
  • 1
    "running with .NET 4.6.1" is a common fallicy. That's just not possible, you always run with the installed version of the framework. Very likely to be 4.8 today. All you did by picking 4.6.1 is select the *minimum* version that your user must have available. If that user actually took advantage of that, intentionally disabling Windows Update, then you'll have a very hard time providing *your* support to them. – Hans Passant May 28 '22 at 12:57

2 Answers2

5

As written by others, .NET Framework is tied to Windows. Microsoft used to offer 10 years of support on each previous Windows version (e.g. Windows 10 from 2015 to 2025)

As .NET 4.8 is integrated in Windows 11, we can expect support until 2031 vs 2024 for .NET 6. But Microsoft is also saying that .NET 4.8 will only receive security fixes, and no new feature.

So the real question is how to you plan to support YOUR WPF App?

If nothing has to to change and stay as it is untouched on Windows machines, stick with .NET 4.8

If you plan to add more features in your app, and want to keep you skills up to date, moving to .NET 6 (and latter 8 and 10) would be a good option. You then need maintenance work once every ~2 years to update to next LTS version.

You can also take a mid path: first move to 4.8 (easy one) and then wait 2+ more years to migrate to .NET 8 once the MAUI is more established and then maybe consider to upgrade from WPF to MAUI. Moving to .NET 8 with MAUI will for instance allow the deployment of your app on Linux or MacOS if at some point it become interesting for you. .NET 8 shall be the next LTS, from end 2023 to end 2026 (so still shorter support than 4.8).

If Microsoft keeps the same release rhythm, and drop .NET 4.8 in next Windows 12 (a lot of if), we would have to wait for .NET 14 to get longer support than 4.8!
(6 2021-24, 8 2023-26, 10 2025-28, 12 2027-30, 14 2029-2032)

The option with less effort is definitely to chose 4.8 !

EricBDev
  • 1,279
  • 13
  • 21
  • as stated by the (end of support link)[https://learn.microsoft.com/en-US/lifecycle/products/microsoft-net-framework], 4.6.2 is supported until 2027. This could be even easier if you plan to jump into e.g. .NET 8 in near future. – EricBDev Mar 29 '23 at 16:05
3

Question is: at current time, which .NET version has the longest support range, .NET Framework 4.8 or .NET Core (.NET 6)?

I think the answer is .NET Framework 4.8, .Net 6 end of support date is November 12, 2024, according to What's new in .NET Framework, Microsoft will continue to support .NET Framework 4.8 and didn't mark the end Time.

.NET Framework 4.8 is the last version of .NET Framework. .NET Framework is serviced monthly with security and reliability bug fixes. .NET Framework will continue to be included with Windows, with no plans to remove it. You don't need to migrate your .NET Framework apps, but for new development, use .NET 5 or later.

but if we might want to create a new project, I would create .Net 6 although we can see the end of support date I believe Microsoft will create a newer version (feature), and .Net 6 can easy to upgrade to that in future.

D-Shih
  • 44,943
  • 6
  • 31
  • 51