title: MEF plugin dependency not loading as plugins directory is not checked
body: <p>I'm having problems with MEF not picking up dependencies for loaded components. We have a directory structure that looks like:</p>
  
  <p>C:/MSMQ/DistributionService/[Main application]</p>
  
  <p>C:/MSMQ/Providers/[plugin components]</p>
  
  <p>Of course, we are using a DirectoryCatalog, the plugin is picked up, but one of its' dependencies is not. The error message is:</p>
  
  <pre><code>2012-11-02 10:46:59,379 [1] FATAL - Assemblies required by Provider are not found
  System.IO.FileNotFoundException: Could not load file or assembly 'BusinessObjects, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
  File name: 'BusinessObjects, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null'
  
  === Pre-bind state information ===
  LOG: User = &lt;redacted&gt;
  LOG: DisplayName = BusinessObjects, Version=1.5.0.0, Culture=neutral, Public
  KeyToken=null
   (Fully-specified)
  LOG: Appbase = file:///C:/MSMQ/DistributionService/
  LOG: Initial PrivatePath = NULL
  Calling assembly : DistributedServicePropertyComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
  ===
  LOG: This bind starts in default load context.
  LOG: Using application configuration file: C:\MSMQ\DistributionService\Distr
  ibutionService.exe.Config
  LOG: Using host configuration file:
  LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\
  v4.0.30319\config\machine.config.
  LOG: Policy not being applied to reference at this time (private, custom, partia
  l, or location-based assembly bind).
  LOG: The same bind was seen before, and was failed with hr = 0x80070002.
  
  2012-11-02 10:46:59,401 [1] FATAL - Assemblies required by Provider are not found
  System.IO.FileNotFoundException: Could not load file or assembly 'BusinessObjects, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
  File name: 'BusinessObjects, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null'
  
  === Pre-bind state information ===
  LOG: User = B2B\addisona
  LOG: DisplayName = BusinessObjects, Version=1.5.0.0, Culture=neutral, Public
  KeyToken=null
   (Fully-specified)
  LOG: Appbase = file:///C:/MSMQ/DistributionService/
  LOG: Initial PrivatePath = NULL
  Calling assembly : DistributedServicePropertyComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
  ===
  LOG: This bind starts in default load context.
  LOG: Using application configuration file: C:\MSMQ\DistributionService\DistributionService.exe.Config
  LOG: Using host configuration file:
  LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\
  v4.0.30319\config\machine.config.
  LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
  LOG: The same bind was seen before, and was failed with hr = 0x80070002.
  </code></pre>
  
  <p>I believe this is similar to a question on MSDN: <a href="http://social.msdn.microsoft.com/Forums/en-US/MEFramework/thread/b34ef4f4-e1f1-4f06-bd42-d7b3d5060f6f/" rel="noreferrer">http://social.msdn.microsoft.com/Forums/en-US/MEFramework/thread/b34ef4f4-e1f1-4f06-bd42-d7b3d5060f6f/</a> - but I don't understand the answer.</p>
  
  <p>Is there any way to provide a path to pick the problem assembly up from, or any other suggested solution?</p>
  
  <p>We have only started having this problem recently, but I can't see any changes I'd expect to cause that in our source control history.</p>