Posterior a buscar en diversos repositorios y páginas de internet al terminar nos encontramos con la resolución que te mostramos a continuación.
Solución:
Enterrada en el seguimiento de la pila está la causa raíz del problema:
InvalidOperationException: el tipo actual,BusinessServices.IEmployeeServices, es una interfaz y no se puedeconstruido. ¿Te falta un mapeo de tipos?
———————————————– En el momento de la excepción, el contenedor fue: Resolver TheWork.Controllers.EmployeeController,(ninguno) Resolver el parámetro “employeeServices” del constructor TheWork.Controllers.EmployeeController(BusinessServices.IEmployeeServices employeeServices) Resolver BusinessServices.IEmployeeServices,(ninguno) Microsoft.Practices.Unity. ResolutionFailedException en Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Tipo t, Objeto existente, Nombre de cadena, IEnumerable1 resolverOverrides)
El tema es que el EmployeeController
requiere una instancia de IEmployeeServices
pero Unity no sabe qué tipo concreto instanciar. Parece que se supone que la clase de implementación debe ser registrada por la llamada a ComponentLoader.LoadContainer(container, ".\bin", "BusinessServices.dll");
pero por alguna razón no se está registrando. Podría ser un error en ese código o tal vez BusinessServices.dll está desactualizado y no contiene el IEmployeeServices
definición.
Es difícil decir por qué IEmployeeServices
no está registrado sin ver todo el código y las dependencias de tiempo de ejecución (porque los tipos se cargan/registran dinámicamente).
Te invitamos a sustentar nuestra investigación escribiendo un comentario o valorándolo te lo agradecemos.