Comparison of famous IoC-containers
My short summary This comparison is mainly originated with attention to XML-based configuration possibilities and grouping implementations of the same contra...
My short summary
This comparison is mainly originated with attention to XML-based configuration possibilities and grouping implementations of the same contract which are choosable over a key.
StructureMap
A really nice container with simple XML configuration. But we had problems if the container must instantiate WPF-controls.
LightCore
Also a really nice container with simple XML configuration. But it seems that there is no way to specify distinct implementations which are choosable by a key.
Autofac
No external XML configuration possible.
Castle Microkernel
No external XML configuration possible.
Castle Windsor
My favourite over many years – with simple XML configuration and the possiblity to group implementations of the same contract which are choosable with a key.
But be carefully: after configure one container over a XML configuration, the folder with the to resolving assemblies seems to be from now on the one and only folder for searching assemblies. By instantiating a new container with an other XML configuration the assemblies could not found at an other folder.
We hat this problem by extending a framework with differnt plugins. All plugins uses Castle Windsor as an IoC-container. But when more than one plugin was activated the assemblies of the later loaded plugin could not be resolved from Castle Windsor.
So it could be necessary to compile a own version of Castle Windsor with an own key. That guarantees, that several Castle Windsor assemblies could be loaded in the AppDomain – and each assembly has then an own “searching folder”.
Spring.NET
untested