title: Symfony 4 - Service removed or inlined though it is public
body: <p>I'm trying to migrate a SF 3.3 app to SF 4 with its new directory structure and everything.</p>
  
  <p>I'm struggling on this exception:</p>
  
  <blockquote>
    <p>The "simplethings_entityaudit.reader" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead.</p>
  </blockquote>
  
  <p>(This service comes from an external bundle located in /vendor).</p>
  
  <p>Nevertheless, when I <code>bin/console debug:container simplethings_entityaudit.reader</code> you'll see the service exists and is public:</p>
  
  <pre>
  Information for Service "simplethings_entityaudit.reader"
  =========================================================
  
   ----------------- -------------------------------------- 
    Option            Value                                 
   ----------------- -------------------------------------- 
    Service ID        simplethings_entityaudit.reader       
    Class             SimpleThings\EntityAudit\AuditReader  
    Tags              -                                     
    Public            yes                                   
    Synthetic         no                                    
    Lazy              no                                    
    Shared            yes                                   
    Abstract          no                                    
    Autowired         no                                    
    Autoconfigured    no                                    
    Factory Service   simplethings_entityaudit.manager      
    Factory Method    createAuditReader                     
   ----------------- -------------------------------------- 
  </pre>
  
  <p>This service is currently called in one of my own with <code>$this-&gt;container-&gt;get('simplethings_entityaudit.reader')</code>.</p>
  
  <p>I also tried to inject <code>SimpleThings\EntityAudit\AuditReader</code> into my service constructor, but here's what I get:</p>
  
  <blockquote>
    <p>Argument "$auditReader" of method "__construct()" references class "SimpleThings\EntityAudit\AuditReader" but no such service exists. It cannot be auto-registered because it is from a different root namespace.</p>
  </blockquote>
  
  <p>When I add this into my <code>services.yaml</code> it works, but I shouldn't need to do this:</p>
  
  <pre><code>SimpleThings\EntityAudit\AuditReader:
      alias: simplethings_entityaudit.reader
  </code></pre>
  
  <p>Any ideas?</p>