title: ReflectionTypeLoadException: Type is attempting to implement an inaccessible interface
body: <p>I'm using <em>Assembly.GetTypes()</em> for getting all types defined by in a plugin library (so I can instantiate plugin instances).</p>
  
  <p>On a particular library, the method raise a ReflectionTypeLoadException, saying:</p>
  
  <pre><code>Type &lt;Type&gt; is attempting to implement an inaccessible interface
  </code></pre>
  
  <p>Googling it seems because the specific <em>Type</em> implements a non-public interface. And actually it is, but the <em>Type</em> is nested in another public class, declared as private.</p>
  
  <p>How avoid this exception?</p>
  
  <p>....</p>
  
  <p>Made interface public the code works. Is it possible to define this strange behavior is a bug (in Assembly.GetTypes())? This imply that a library type cannot implement a protected interaface!</p>