Migration and Side-by-Side Execution

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.

In general, applications built for Enterprise Library for .NET Framework 2.0 — January 2006 and later will function with this release of Enterprise Library, without the need for any code changes. It will be necessary to update the references to refer to the new assemblies and to update the configuration files to reference the correct version of the assemblies.

This version of Enterprise Library can also be installed side-by-side with earlier versions of Enterprise Library. You can deploy new applications written for this version of Enterprise Library along with applications written for earlier versions. In addition, you can choose to migrate existing applications, one assembly at a time, to the new version.

If you decide to use side-by-side execution, you must deploy the different Enterprise Library versions in different directories. In any specific directory, you cannot mix and match assemblies from different versions. For example, you cannot have Data Access Application Block version 4.0 in the same directory with Caching Application Block version 3.0.

The shipped project files use data in the AssemblyInfo.cs file to build assemblies that have different version information. This allows you to use strong names and to add different versions to the global assembly cache for side-by-side execution.

Each assembly in an application can refer to only one version of the Enterprise Library, but an application that has multiple assemblies can refer to more than one version. For example, you may have an application with two assemblies, both using the Enterprise Library 3.0. One assembly can be migrated to use Enterprise Library 4.1, and the other assembly can remain unchanged. This means you can gradually migrate your application, one assembly at a time. However, although partial migration is supported, it is somewhat complicated to implement; therefore, it is not recommended.

The Enterprise Library Configuration Console is specific to the version it shipped with, and it must have DLLs in its directory that belong to that version. Therefore, when you configure application assemblies that use different versions of Enterprise Library, you must use different versions of the Configuration Console.