Specifying Different Assemblies

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.

By default, the configuration tools use the assemblies provided with the Enterprise Library. You can redirect the tools to use other assemblies, such as assemblies that you have compiled yourself because you have modified the source code. If you use the stand-alone Configuration Console, simply place a copy of the tool in the correct bin directory.

If you have your own versions of the Enterprise Library assemblies, you must change a registry key. There is a default assembly set that refers to the signed binaries. For installed source code, another assembly set entry is created in the registry. The Configuration Editor allows you to select which assemblies you want to use as the default. It is also possible to choose a non-default set for a specific solution. This information is saved in the .sln file.

By default, every .config file you open with the Configuration Editor uses the default assembly set. If you would like to override this for a specific solution, you can use the SelectedEnterpriseLibraryConfigurationSet property of the solution root element to select an alternative configuration set that will be associated with all .config files in the solution. The registry settings determine the possible options for this property.

To add, edit, or remove definitions of assembly sets, you need to change the registry key. By default, there are two assembly sets: the "Microsoft Signed" set, which points to the strong-named binaries, and the "EntLib*[version]*Src" set (for example, "EntLib4Src"), which points to the bin directory under the installed copy of the source code.

To change the registry key, open Registry Editor (Regedit.exe), and then navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{488366a4-630c-4a0e-a6a2-b019cee13bea}\ConfigurationEditor (computer-wide settings) or HKCU\Software\Microsoft\Practices\EnterpriseLibrary\ConfigurationEditor (per-user settings). Each assembly set is defined in a key below this root key. The assembly sets are the following:

  • ConfigurationUIAssemblyPath. This points to an assembly that contains a class that implements Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapter.ISingleHierarchyConfigurationUIHostAdapater. If you are using unmodified Enterprise Library assemblies, this value should point to a copy of Microsoft.Practices.EnterpriseLibrary.Configuration.Design.UI.dll.
  • ConfigurationUIAdapterClass. This points to the namespace-qualified name of a class that implements Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapter.ISingleHierarchyConfigurationUIHostAdapter. If you are using unmodified Enterprise Library assemblies, this value should refer to the class Microsoft.Practices.EnterpriseLibrary.Configuration.Design.UI.SingleHierarchyConfigurationUIHostAdapter.
  • ConfigurationUIPluginDirectory. This points to the directory that contains the design-time assemblies and run-time assemblies that should be loaded into the configuration tool for this assembly set.

To specify which assembly set is the default set, modify the defaultConfigurationSet value under the root key.

Note

When the Enterprise Library source is installed to multiple locations on the same computer, the keys in the existing assembly set are overwritten with the path of the new installation. For example, the assembly keys of an initial installation into C:\EntLibSrc01 would be overwritten with those of the subsequent installation into C:\EntLibSrc02.