title: Castle Windsor: How to register internal implementations
body: <p>This registration works when all the implementations of IService are public:</p>
  
  <pre><code>AllTypes
      .Of&lt;IService&gt;()
      .FromAssembly(GetType().Assembly)
      .WithService.FirstInterface()
  </code></pre>
  
  <p>For example:</p>
  
  <pre><code>public interface IService {}
  public interface ISomeService : IService {}
  public class SomeService : ISomeService {}
  </code></pre>
  
  <p>Resolving ISomeService returns an instance of SomeService.</p>
  
  <p>But if the SomeService class is internal, the container throws an exception that states that ISomeService is not registered.</p>
  
  <p>So is there any way to register internal implementations for public interfaces?</p>