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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.