As mentioned in Chapter 1, Getting Started with Machine Learning and ML.NET, .NET Core 3.x is the preferred platform for using ML.NET due to the optimization done in the 3.0 release. In addition, .NET Core provides a singular coding framework to target Linux, macOS, and Windows, as noted in the following diagram:
.NET Core architecture
From its inception in 2016, the underlying goals of .NET Core have been to provide rapid updates and feature parity with (the previously Windows-only) Microsoft .NET Framework. Over time and versions, the gap has gotten smaller by simply adding the APIs that were missing, using additional NuGet packages. One such example of this is Microsoft.Windows.Compatibility that provides 20,000 APIs not found in the Core framework including registry access, drawing, and Windows Permission Model access. This approach keeps the framework light and cross-platform but does introduce some design patterns to help you...