Something I can't figure out from the documentation is what occurs if a certain interface is registered with two separate implementations? Which one is resolved?
E.g. We have the following types
ModuleA.ServiceA : Infrastructure.IService
ModuleB.ServiceB : Infrastructure.IService
ModuleC.ViewModelC tries to resolve Infrastructure.IService. Which concrete implementation will be returned? Or will this throw an exception?