For many organizations, migrating from .NET Framework to .NET Core may be a Herculean task. Often applications with millions of lines of code have to be migrated. Therefore, without any further ado: There is no hard reason for a migration – neither technically nor legally. Scott Hunter, Director of Program Management for .NET at Microsoft, recently stated: “.NET Framework 4.8 will be the last major version of .NET Framework. If you have existing .NET Framework applications that you are maintaining, there is no need to move these applications to .NET Core. We will continue to both service and support .NET Framework, which includes bug-, reliability- and security fixes.”
However, those who continue to work with the classic .NET Framework in the future will find themselves at a technical impasse. Because Microsoft will only continue to develop the .NET Core technology. Libraries such as ASP.NET Core and Entity Framework Core will no longer be rolled out for the classic .NET Framework. Also some language features in C# 8.0 like ranges, indices and asynchronous streams will not become available in .NET Framework 4.8. In addition, the move to .NET Core 3.1 offers a number of advantages:
- .NET Core is platform independent, as long as the UI frameworks WinForms and WPF are not used
- Significantly higher performance thanks to newly introduced language features, memory management classes and a modular architecture
- A simplified project format and command line tools facilitate integration into automated processes
- New software architectures and concepts like Razor Class Libraries and many more
Of course, there are also some disadvantages that have to be considered when migrating to .NET Core. Not all APIs from the classic .NET Framework are included in .NET Core. This means that not all third-party libraries run on .NET Core. Another aspect is the shortened support period for Long Term Support releases to three years – previously it was 10 years. Unfortunately, the quality of the documentation does not yet reach the level of the .NET Framework’s documentation and the NuGet package system still struggles with technical problems despite many improvements.
The advantages and disadvantages of .NET Core make the migration a question of weighing up. Useful tools like the .NET Portability Analyzer help developers to make a decision. The conclusion can be drawn, however: For existing applications, a migration to .NET Core should be well thought out, because important APIs might be missing. But, if you are starting to develop a new application today, you should do so with .NET Core. List & Label 25 already gives developers the opportunity to work with the new .NET Core Framework (albeit still only on the Windows platform). With the release of version 25, the .NET Assemblies were already compatible with .NET Core 3.0. And with the latest Service Pack 25.001 (02/2020), List & Label of course also supports .NET Core 3.1.
Daniel trained with combit as a programmer specialized in software development. He is now engaged in software development and fosters business cooperations. He conducts software trainings and supports the sales team as technical advisor. In his spare time he enjoys mountainbiking around Lake Constance and in the Swiss Alps closeby.