⟩ How does assembly versioning in .NET prevent DLL Hell?
The runtime checks to see that only one version of an
assembly is on the machine at any one time.
.NET allows assemblies to specify the name AND the version
of any assemblies they need to run.
The compiler offers compile time checking for backward
compatibility.