1.6 [Enterprise Libary ] 使用不同的程序集
转载请注明出处:http://blog.csdn.net/doriandeng/archive/2007/09/17/1788318.aspx
默认情况下,配置工具使用与 Enterprise Library 一起提供的程序集。可以重定向工具以使用其他的程序集,例如,修改源码而编译的程序集。如果使用的是独立的配置控制台,简单的放置工具的一个副本到正确的 bin 目录中即可。
如果有自己的 Enterprise Library 版本的程序集,必须修改注册表键。这是一个默认程序集设置,它引用了签名的二进制,并且用于安装的源码的另一程序集集合实体也被创建在注册表中。配置编辑器允许选择默认使用的程序集,也可以为特定的解决方案选择非默认的集合,这信息被保存在了 .sln 文件中。
默认的,用配置编辑器打开的每个 .config 文件都使用默认的程序集集合。如果要为特定的解决方案覆盖它,可以使用解决方案根元素的SelectedEnterpriseLibraryConfigurationSet 属性来选择一个替代的配置集合,集合与解决方案中的所有 .config 文件关联。注册表的设置决定了此属性的可能选项。
为了添加、修改或者移除程序集集合的定义,需要改变注册表的键。默认有二个程序集集合:“Microsoft 签名”的集合,它指向强命名的二进制;以及“EntLib3Src”集合,它指向最近安装的源码副本下的 bin
目录。
要修改注册表键,打开注册表编辑器(regedit.exe),然后导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\{488366a4-630c-4a0e-a6a2-b019cee13bea}\ConfigurationEditor(计算机范围的设置)或者HKCU\Software\Microsoft\Practices\EnterpriseLibrary\ConfigurationEditor (每个用户设置)。每个程序集集合被定义在此根键下的一个键中。程序集集合如下:
- ConfigurationUIAssemblyPath
-
指向一个包含实现
Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapter.ISingleHierarchyConfigurationUIHostAdapater
的类的程序集。如果使用了未修改的 Enterprise Library 程序集,这个值将指向Microsoft.Practices.EnterpriseLibrary.Configuration.Design.UI.dll
的一个副本。 - ConfigurationUIAdapterClass
-
它指向一个类的全名称(带有命名空间的),这个类实现了
Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapter.ISingleHierarchyConfigurationUIHostAdapter
如果使用的是未修改的 Enterprise Library 程序集,这个值将引用到类Microsoft.Practices.EnterpriseLibrary.Configuration.Design.UI.SingleHierarchyConfigurationUIHostAdapter
。 - ConfigurationUIPluginDirectory
-
它指向包含设计时和运行时程序集的目录,这些程序集将被为此程序集集合而加载到配置工具中。
要指定程序集集合为默认集合,可以修改根键下的defaultConfigurationSet 的值。
注意
当 Enterprise Library 源码在同一机器上被安装在多个位置时,在已存在的程序集集合中的键将被新安装的路径所覆写。例如,初始安装到 C:\EntLibSrc01 的程序集键将被后来安装到 C:\EntLibSrc02 的那些所覆写。