Using .NET 5 or .NET Standard for code reuse
.NET has evolved a lot since its first version. This evolution is not only related to the number of commands and performance issues, but the supported platforms too. As we discussed in Chapter 1, Understanding the Importance of Software Architecture, you can run C# .NET on billions of devices, even if they are running Linux, Android, macOS, or iOS. For this reason, .NET Standard was first announced together with .NET Core 1.0, but .NET Standard became particularly important with .NET Standard 2.0, when .NET Framework 4.6, .NET Core, and Xamarin were compatible with it.
The key point is that .NET Standard was not only a kind of Visual Studio project. More than that, it was a formal specification available to all .NET implementations. As you can see in the following table, it covers everything from .NET Framework to Unity: