Существует множество теорий, связанных с использованием IoC .NET. Я думаю, что есть немало разработчиков, которые не имеют опыта в этой области. Они не пришли из фона Java. Они пришли из классического ASP и фона VB6. Кроме того, Microsoft до недавнего времени не поощряла использование IoC.
Далее, использование IoC предполагает несколько вещей. Во-первых, вы должны понимать, для чего он используется и что вы получаете от него. Во-вторых, вы должны разработать свой код, чтобы реально использовать контейнер IoC.
IoC - это больше, чем просто использование другого элемента в наборе инструментов. Речь идет о том, чтобы знать, как использовать, зная, когда использовать его и зрелости в качестве разработчика.
Что касается .NET, у меня есть несколько IoC-контейнеров. Я использовал Windsor, StructureMap, Unity и, совсем недавно, Ninject. Имейте в виду, однако, я не использовал их все в реальных приложениях. Мне нравится играть и смотреть, что там происходит. Я обнаружил, что рынок контейнеров IoC .NET довольно хороший.