I am wondering why .Net IoC containers do not easily support multiple implementations for a single interface! May be I am wrong, but as far I have seen, frameworks like Nin
StructureMap provides these abilities:
For().Add().Named("MyInterfaceImpl1"); For().Add().Ctor().Is(i => i.GetInstance("MyInterfaceImpl1"));