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

原创 2007年09月17日 15:51:00

版权所有(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 的那些所覆写。

Unity运行时使用的程序集和Editor下不同

Unity运行时使用的程序集和Editor下是不一样的。同样的一行代码在MonoBehaviour下输出的结果和通过Editor的输出是不一样的。     点击“Play”按钮,Unity运行期...

.net中不同程序集的调试

应用场景: 分别有两个.net程序集,各自独立(即在项目的组织上不能将一个程序集与另一个程序集放到一个解决方案中),但是有一个程序集引用了另外程序集 的dll,这时想要通过运行一个程序集调试另一个...

VS 提示:请考虑使用 app.config 将程序集“XXX”从版本“XX”重新映射到版本“XX”,以解决冲突并消除警告。

具体提示如下: 请考虑使用 app.config 将程序集“System.Web.Http.WebHost, Culture=neutral, PublicKeyToken=31bf3856ad3...

[.Net码农]C#动态创建和动态使用程序集、类、方法、字段等(一)

http://www.cnblogs.com/longgel/archive/2010/05/14/1735590.html 有时候在整个项目架构里也需要动态创建...

创建和使用托管程序集(C++)

官网实例 托管程序集是一种库,您可以创建该库以便高效地重用代码。 这样,就不必在多个程序中重新实现同样的例程,而只需编写这些例程一次,然后在需要该功能的应用程序中引用它们即可。 创建类库项目MathA...

程序集版本中使用SVN版本号自动生成方法详解

本节和大家讨论一下程序集版本最后一位使用SVN版本号的自动生成方法,这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN版本号的相关知识。 使用SVN进行源代码版本控制时,我们希望能够快速找到每个...

如何:使用命令行创建和使用程序集(C# 和 Visual Basic)

转自: http://msdn.microsoft.com/zh-cn/library/3707x96z(v=vs.110).aspx 一个程序集或动态链接库 (DLL) 在运行时链接...

C#中使用Assembly.LoadFile()加载程序集的抛异常的问题

程序集model.dllusing System;namespace model { public class Student { public string sno ...

使用命令行给第三方dll程序集强命名(原)

一般我们在给程序集强命名时,都会直接使用VS进行强命名,但是这只是我们在有源代码时才这么做。如果我们使用的是第三方的程序集,此方法是行不通。这种情况下,我们就需要使用到VS里的另一工具:Sn.exe ...
  • zmoneyz
  • zmoneyz
  • 2013年05月16日 22:45
  • 1278

C#动态创建和动态使用程序集、类、方法、字段等

C#动态创建和动态使用程序集、类、方法、字段等 分类: 技术交流 2011-08-15 16:08 1341人阅读 评论(3) 收藏 举报 c#microsoftstringobjectnu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1.6 [Enterprise Libary ] 使用不同的程序集
举报原因:
原因补充:

(最多只允许输入30个字)