I'm trying to migrate a SF 3.3 app to SF 4 with its new directory structure and everything.
I'm struggling on this exception:
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.
(This service comes from an external bundle located in /vendor).
Nevertheless, when I bin/console debug:container simplethings_entityaudit.reader
you'll see the service exists and is public:
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 ----------------- --------------------------------------
This service is currently called in one of my own with $this->container->get('simplethings_entityaudit.reader')
.
I also tried to inject SimpleThings\EntityAudit\AuditReader
into my service constructor, but here's what I get:
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.
When I add this into my services.yaml
it works, but I shouldn't need to do this:
SimpleThings\EntityAudit\AuditReader:
alias: simplethings_entityaudit.reader
Any ideas?
public:true
as sibling to alias – Guendolen