1.6 [Enterprise Libary ] 使用不同的程序集

版权所有(c) 2007  Dorian Deng。署名 共享 非商用。
转载请注明出处: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 的那些所覆写。

posted @ 2007-09-29 21:17  Dorian Deng  阅读(678)  评论(1编辑  收藏  举报