/unity

This repository contains all relevant information about Unity Container suit

Apache License 2.0Apache-2.0

Overview

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

Installation

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.

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

Contributing

See the Contributing guide for more information.

.NET Foundation

Unity Container is a .NET Foundation project.