Migration and Side-by-Side Execution

In general, applications built for Enterprise Library for .NET Framework 2.0 in 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. To review the few breaking changes you may need to address go to the Breaking Changes section.

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 5.0 in the same directory with Caching Application Block version 4.0.

The shipped project files use data in the AssemblyInfo.cs file to build assemblies that have different version information. This enables 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 assemblies, 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 Enterprise Library 4.0. One assembly can be migrated to use Enterprise Library 5.0, 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.

For details on migrating applications and configuration files see the Enterprise Library 5.0 and Unity 2.0 Migration Guide on CodePlex.

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.