Multiple choice technology programming languages

How does assembly versioning in .NET prevent DLL Hell?

  1. The runtime checks to see that only one version of an assembly is on the machine at any one time.

  2. .NET allows assemblies to specify the name AND the version of any assemblies they need to run.

  3. The compiler offers compile time checking for backward compatibility.

  4. It doesn't

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation

.NET prevents DLL Hell by allowing assemblies to specify both the name AND exact version of their dependencies in the manifest. This ensures that an application loads the specific versions of assemblies it was built and tested against, rather than whatever arbitrary version happens to be present. The runtime can then enforce versioning policy and redirect binding if configured.