Update 1 Feb 2022: For new projects use .NET6 (Core) it needs VS2022. Don't use any versions of .NET framework (last release was 4.8) or .NET standard (last release was 2.0).
Problem: The client has several existing .NET applications/products. These products are running on Azures Service Fabric, which has been developed over several years. Service Fabric applications have various .NET core and .NET framework versions, and many of the apps have gone out of Microsoft support for the .NET version they are written on.
Initial Hypothesis: We have .NET framework and .NET Core apps. .NET Core 5.0 has dropped the "Core" part of the naming, so it is merely .NET 5. .NET framework came first, and the last version was .NET framework 4.8. .NET Core is the follow on and .NET Core 3.1 next version has the name chnge to .NET 5.0. The "Core" part is dropped. Lastly, .NET Standard is often used by software companies to write dll's. Only class libraries are allowed, but any .NET framework or .NET core projects can reference them.
- .NET Framework - 4.8 was the latest release version
- .NET Core became .NET - Last was 3.1 but renames to .NET 5 which is the latest version
- .NET Standard - Class projects only
Proposed Resolution: My preference is to upgrade .NET core and .NET Framework separately as this is the lowest risk, most extended life with minimized cost.
For .NET Core apps, if less than .NET core 3.1 migrate the app to .NET 5. .NET Core 3.1 don't upgrade. Any other versions should be upgraded to .NET 5.
Version |
Release
date |
Released
with |
Latest
update |
Latest
update date |
Support
ends[20] |
.NET Core 1.0 |
2016-06-27[21] |
Visual Studio 2015 Update
3 |
1.0.16 |
2019-05-14 |
June 27, 2019 |
.NET Core 1.1 |
2016-11-16[22] |
Visual Studio 2017 Version
15.0 |
1.1.13 |
2019-05-14 |
June 27, 2019 |
.NET Core 2.0 |
2017-08-14[14] |
Visual Studio 2017 Version 15.3 |
2.0.9 |
2018-07-10 |
October 1, 2018 |
.NET Core 2.1 |
2018-05-30[15] |
Visual Studio 2017 Version 15.7 |
2.1.26 (LTS) |
2021-03-09 |
August 21, 2021 |
.NET Core 2.2 |
2018-12-04[16] |
Visual Studio 2019 Version
16.0 |
2.2.8 |
2019-11-19 |
December 23, 2019 |
.NET Core 3.0 |
2019-09-23[23] |
Visual Studio 2019 Version 16.3 |
3.0.3 |
2020-02-18 |
March 3, 2020 |
.NET Core 3.1 |
2019-12-03[24] |
Visual Studio 2019 Version 16.4 |
3.1.13 (LTS) |
2021-03-09 |
December 3, 2022 |
.NET 5 |
2020-11-10[25] |
Visual Studio 2019 Version 16.8 |
5.0.5 |
2021-04-06 |
3 months after .NET 6 release |
For .NET Framework, anything less than .NET Framework 3.5, move to 3.5. 3.5 Framework based apps can stay on 3.5. For app using .NET Framework 4.0 to 4.5.1 upgrade to .NET framework 4.8. For app using .NET 4.5.2 to 4.7, stay on their versions.
Version |
Existing Application Support |
Target New Applications? |
1.x |
✘ out of
support - migrate ASAP |
✘ out of
support - do not target |
2.x |
✘ out of support - migrate ASAP |
✘ out of
support - do not target |
3.x |
✘ out of support - migrate ASAP |
✘ out of support - do not target |
3.5 |
✓ Operating System
(until 2029) |
⚠️Operating System
(until 2029) - target with caution |
4.0 to 4.5.1 |
✘ out of
support - migrate ASAP |
✘ out of
support - do not target |
4.5.2 to 4.7 |
⚠️Operating System
(mixed) - review support policy of each version |
⚠️Operating System
(mixed) - target with caution |
4.8 |
✓ Operating System
(indefinite) |
✓ Operating System
(indefinite) |
No comments:
Post a Comment