Deploying Enterprise Library

Microsoft Enterprise Library 5.0

DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image

The Enterprise Library Application Blocks are comprised of multiple assemblies. Each assembly that belongs to the Enterprise Library (excluding Unity, which is a generic utility) has a file name that begins with Microsoft.Practices.EnterpriseLibrary. Additionally, the application blocks may depend on the Enterprise Library common assemblies. An application that uses one or more of the application blocks may have dependencies on other application blocks. For example, some applications that use the Caching Application Block also require the Data Access Application Block assemblies. For information about the dependencies between the application blocks and the Enterprise Library Core, see Dependencies in Enterprise Library.

An application that uses the Enterprise Library application blocks can be deployed in one of two configurations:

  • As private assemblies in the application folder hierarchy.
  • As shared assemblies in any file system location or in the global assembly cache.

Specific deployment recommendations are included in the documentation for each application block. For more information, see the deployment topic for the individual application block. For general information about preparing and versioning Enterprise Library and using the global assembly cache, see Preparation and Versioning.

If you decide to locate the Enterprise Library assemblies in the global assembly cache, there are some extra steps you must take if you use the Data Access Application Block and the Validation Application Block. These are described in the section "Using the Global Assembly Cache" in the topic Preparation and Versioning, and at

Enterprise Library includes pre-compiled strong-named assemblies for all the source code. The assemblies are signed with a Microsoft strong-naming key that is not included with the source code. This means that you cannot build a compiled version from the source code that uses the same public key. However, you can use your own key pair to create strong-named assemblies. If you believe that you may customize the Enterprise Library source code, you should use the binaries that you compile from the source code and sign with your own key instead of using the pre-compiled binaries signed with the Microsoft key.

For more information, see Building Enterprise Library from the Source Code and Strong Naming the Enterprise Library Assemblies.

If you update any of the application blocks, or if you want to install an updated version of an assembly, you can install the new version and have all applications use the updated assembly. Alternatively, you can install the new version in the global assembly cache and configure some applications to use the updated version, while others continue to use the earlier version. For more details, see Updating Application Block Assemblies.

If you intend to run your application in partial trust environments, in particular using a customized ASP.NET Medium Trust mode, see Partial Trust Environments.