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.
Unity library consists of multiple packages. For information about each package please follow the links
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.
Unity Container is a .NET Foundation project.