What is Dependency injection?
Dependency injection is a design pattern in which an object receives other objects that it depends on. It is way of doing loosely coupled programming. It separates concern of constructing an object. It is technique to achieve inversion of control between classes and their objects.
List of .NET Dependency Injection Frameworks
Castle Windsor – Castle Windsor is best of breed, mature Inversion of Control container available for .NET and Silverlight. Windsor is part of an entire stack which includes Monorail, Active Record, etc. NHibernate itself builds on top of Windsor.
Unity – Lightweight extensible dependency injection container with support for constructor, property, and method call injection. Supported by Microsoft.
Spring.Net – Spring.NET is an open source application framework that makes building enterprise .NET applications easier.
VS MEF – Managed Extensibility Framework (MEF) implementation used by Visual Studio.
Other frameworks –
Autofac ,DryIoc, Ninject, Lamar ,LightInject,Simple Injector,Microsoft.Extensions.DependencyInjection,Scrutor,TinyIoC,Stashbox, Structure Map