Chapter 4. Assembly Loader

So far, much of our discussion about the CLR has revolved around assemblies, the basic building blocks of .NET. We looked at the internals of assemblies in both Chapter 2, “CLR Fundamentals,” and Chapter 3, “Basic Debugging Tasks,” but so far we have omitted the details on how .NET assemblies are loaded into an application domain. One of the goals of the .NET platform is to eliminate what is commonly referred to as DLL (or dependency) hell where the proper binaries are overwritten or simply not available as a result of upgrades and/or downgrades. These problems manifest themselves in the form of application startup failures or sometimes, more subtly, where applications simply misbehave. To avoid the DLL hell problem, ...

Get Advanced .NET Debugging now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.