Skip to content
Go to file


Failed to load latest commit information.
Latest commit message
Commit time
Abstractions @ 2b99c96
Configuration @ cd4c7f2
Container @ a421868
Interception @ 8204658
InterceptionConfiguration @ 8cb4bb0
MVC @ 1b6a0b5
Microsoft.DependencyInjection @ 827e69c
RegistrationByConvention @ b4439b1
RegressionTests @ c169eb2
ServiceLocation @ a418fb5
SpecificationTests @ ff8990d
WebAPI @ b97b70a


The Unity Container (Unity) is a full featured, extensible dependency injection container. It facilitates building loosely coupled applications and provides developers with the following advantages:

  • Simplified object creation, especially for hierarchical object structures and dependencies
  • Abstraction of requirements; this allows developers to specify dependencies at run time or in configuration and simplify management of crosscutting concerns
  • Increased flexibility by deferring component configuration to the container
  • Service location capability; this allows clients to store or cache the container
  • Instance and type interception
  • Registration by convention


Install Unity with the following command:

Install-Package Unity

Unity 5.x loosely follows Semantic Versioning — minor releases may introduce breaking changes. Floating version references should lock in the minor version in addition to the major version:

<PackageReference Include="Unity.Container" Version="5.x.*" />


The documentation is a work in progress. Some info is available here but more is coming... Feel free to open issues in Documentation project with all the questions you would like to be covered or questions you might have.

New Features

Suggest new features or vote for the proposals you like, ADD your comments:

Feature Requests

Packages & Status

Unity library consists of multiple packages. For information about each package please follow the links

Package License Version Downloads
Unity (Composite) License NuGet NuGet
Unity.Abstractions License NuGet NuGet
Unity.Container License NuGet NuGet
Unity.Configuration License NuGet NuGet
Unity.Interception License NuGet NuGet
Unity.Interception.Configuration License NuGet NuGet
Unity.RegistrationByConvention License NuGet NuGet
Unity.log4net License NuGet NuGet
Unity.NLog License NuGet NuGet
Unity.Microsoft.Logging License NuGet NuGet
Unity.Microsoft.DependencyInjection License NuGet NuGet
Unity.AspNet.WebApi License NuGet NuGet
Unity.Mvc License NuGet NuGet
Unity.WCF License NuGet NuGet
Unity.ServiceLocation License NuGet NuGet
CommonServiceLocator License NuGet NuGet

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct


See the Contributing guide for more information.

.NET Foundation

Unity Container is a .NET Foundation project.

You can’t perform that action at this time.