The Unity Application Block

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The latest Enterprise Library information can be found at the Enterprise Library site.

The Unity Application Block (Unity) is a lightweight, extensible dependency injection container with support for constructor, property, and method call injection. You can use it with Enterprise Library to generate both Enterprise Library objects and your own custom business objects. However, the Unity Application Block differs from the other application blocks included in Enterprise Library in several fundamental ways:

  • You can use the Unity Application Block as a stand-alone dependency injection mechanism without requiring installation of Enterprise Library.
  • The Unity Application Block can use configuration information exposed through configuration files to prepare the container, but you can also use code to register dependencies dynamically at run time.
  • The Unity Application Block has no dependency on the Enterprise Library core or the Enterprise Library configuration system. It contains its own built-in mechanism for reading configuration—although, if appropriate, this information can come from the normal Enterprise Library configuration file.

This section of the documentation describes the Unity Application Block and demonstrates how you can use it in your applications to generate instances of custom objects. It contains the following sections:


For information about how you can use the Unity Application Block to generate instances of Enterprise Library objects and how you can work with the application block within Enterprise Library applications, see Creating Objects Using the Unity Application Block.

For information about configuring the Unity Application Block when you are using the Enterprise Library configuration tools, see Configuring Enterprise Library.

For information about deploying Enterprise Library applications that use the Unity Application Block, see Deploying Enterprise Library.

For information about the system requirements for the Unity Application Block and details of how you can modify and extend it using different versions of Visual Studio, see System Requirements for the Unity Application Block.