Migrating from .NET Framework to .NET Core
I believe the most important new feature of the .NET Core runtime is its ability to be deployed side by side with any other .NET Core version, guaranteeing that any future release will not affect older runtimes or libraries and, consequently, applications. The primary reason that prevented Microsoft from modernizing and improving the performance of .NET Framework was the shared nature of the .NET runtime and base class libraries. Because of that, the smallest change to those libraries could potentially cause unacceptable breaking changes to the hundreds of millions of installations already deployed.
The obvious consequence of the new side-by-side deployment strategy in .NET Core is the total absence of the Global Assembly Cache (GAC), which provided a central repository to which a system or user library could be deployed. The runtime is now completely isolated from the rest of the system, a decision that enabled the ability to deploy the...