title: How does MEF's DirectoryCatalog work?
body: <p><code>DirectoryCatalog</code> scans the assemblies in a directory to determine what classes are imported/exported. Any assemblies without an import/export are not loaded.</p>
  
  <p>This is an awesome feature, but how does it work? To investigate the custom attributes on types in an assembly, don't you need to load the Assembly? Once it is loaded, it cannot be unloaded, so that can't be how this works.</p>
  
  <p>Is it doing some sort of AppDomain magic?</p>