Enterprise Library 3.1 是 Microsoft patterns & practices Enterprise Library 的一个新的发行。Enterprise Library 是一个应用程序块的集合。这些可重用的软件组件为帮助开发者解决普通企业开发的挑战而设计。这个 Enterprise Library 发行包括了二个新的应用程序块,一个用于创建应用程序块和提供程序的软件工厂,以及新的性能和增强。
优点应用程序块帮助解决开发人员所面对的从一个项目到下一个项目中的普通问题。它们被设计成对 Microsoft 推荐的用于 .NET 应用程序的最佳实践的封装。也可以很快且容易的添加到.NET应用程序中。例如,数据访问应用程序块提供了对最常使用的 ADO.NET 特征的访问,通过易用的类来暴露它们。在某些情况下,应用程序块也加入了不直接受基本类库支持的功能。
目标Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。这些应用通常部署广泛且与其他应用和系统相互依赖。另外,他们通常有严格的安全、可靠性和性能需求。
Enterprise Library 的目标如下:
- 一致性。所有应用程序块都有一致的设计模式和实现方法。
- 扩展性。所有应用程序块都定义了扩展点,这些扩展点允许开发人员添加自己的代码来定制应用程序块的行为。
- 易于使用。Enterprise Library 提供了许多易用性的改进,包括图形配置工具,简单的安装过程,以及清晰且更加完整的文档和示例。
- 集成。Enterprise Library 被设计为在一起很好的工作,并经过测试确认它们可以做到。当然,单独使用应用程序块也是可以的。
读者需求此指南面向的是软件架构和软件开发人员。为了从此指南中获取最大的收益,你需要理解下列知识:
- Microsoft Visual C# 或 Microsoft Visual Basic .NET
- Microsoft .NET Framework
系统要求使用 Enterprise Library 开发应用程序,你需要下列系统:
- Microsoft Windows XP Professional, Windows Server 2003, 或 Windows Vista operating system
- Microsoft .NET Framework 2.0 或 3.0。下列模块需要 .NET Framework 3.0 :
- 应用程序块软件工厂
- 验证应用程序块 Windows Communication Foundation (WCF) 适配器
- 异常处理应用程序块 Windows Communication Foundation (WCF) 异常防护功能
- Microsoft Visual Studio 2005 开发系统(下列任何版本):
- Microsoft Visual Studio 2005 Standard Edition
- Microsoft Visual Studio 2005 Professional Edition
- Microsoft Visual Studio 2005 Team Edition for Software Developers
- Microsoft Visual Studio 2005 Team Edition for Software Testers
- Microsoft Visual Studio 2005 Team Edition for Software Architects
- Microsoft Visual Studio 2005 Team Suite
需要注意的是,Enterprise Library 包含了单元测试的二进制和源代码,需要 Visual Studio 2005 Team Edition 或 NUnit 2.2 之一来运行单元测试。对于如何使用单元测试的使用说明,请参见单元测试。如果修改了单元测试的源码,就需要重新编译,同样这也需要 Visual Studio 2005 Team Edition 或 NUnit 2.2。
要使用应用程序块软件工厂和强名称指导包,需要 Microsoft Guidance Automation Extensions (GAX) 。要修改和编译这些指导包,需要 Microsoft Guidance Automation Toolkit (GAT)。
- 要使用数据访问应用块,需要一个运行受 .NET Framework 2.0 数据提供程序支持的数据库的数据库服务器。这包括 SQL Server 2000 或更新、SQL Server 2005 Compact Edition、Oracle 9i 或更新。数据库服务器也可以运行受用于 OLE DB 或 ODBC 的 .NET Framework 2.0 数据提供程序支持的数据库。
此发布的内容Enterprise Library 3.1 包含下列内容:
- 二进制。 Enterprise Library 包含所有源码的预编译、强命名的程序集。更多信息,请参考使用 Enterprise Library 二进制。
- 源码。Enterprise Library 包含应用程序块的源码、指导包、配置工具、单元测试和快速入门。
- 单元测试。Enterprise Library 包含应用程序块在开发时创建的单元测试。更多信息,请参见单元测试。
- 快速入门。Enterprise Library 是简洁的、易于理解的关键应用程序块特性的示例。每个应用程序块都包括一个或多个快速入门。
- 文档。Enterprise Library 包括能被 Visual Studio 帮助系统查看的文档。文档包括如何使用 Enterprise Library 的指导和类库参考。
从以前版本中升级一般情况下,用对于.NET Framework 2.0 的 Enterprise Library 构建的程序,与 Enterprise Library 3.1 功能相同,不需要修改任何源码。仅需要改变引用到新的程序集,并修改配置文件引用到正确的程序集版本。关于从更早的 Enterprise Library 升级,请参考每个应用程序块文档的附加指南。
顶部编辑关于 Enterprise Library 3.1
这个 Enterprise Library 发行版包括二个新的应用程序块( 验证应用程序块和策略注入应用程序块)、二个向导包、以及与 Visual Studio 集成的配置编辑器。还有数据访问应用程序块和日志应用程序块功能的增加。下面各节将讨论这些和其他在这个发行中中的变化。
影响所有应用程序块的变化影响所有应用程序块的 Enterprise Library 的变化如下:
- Enterprise Library 的这个版本包括了所有源码的预编译强命名程序集。更多信息,请参阅使用 Enterprise Library 二进制。
- 现在,一个独立的 Microsoft Windows 安装包(.msi 文件)为 Enterprise Library 提供源码。这个 windows 安装包由主 .msi 文件安装。源码 .msi 文件允许你释放源码的一个副本并放置在一个文件目录下,这个目录正是你多次想指定的。
- 用于 Enterprise Library 的部分信任补丁 2554。2006年1月已合并到 Enterprise Library 核心。
- 用于 Enterprise Library 的管理性扩展。2006年1月已合并到 Enterprise Library 核心。
- 现在可以使用 Visual Studio 创建和修改配置文件。这个配置工具叫做配置编辑器。配置编辑器与单独运行的配置控制台具有同样的功能,但是它使用 Visual Studio 属性窗口来显示应用程序块的属性,用错误列表来显示配置错误。整体上讲,配置编辑器和独立配置控制台都是配置工具。更多信息可以查看 Enterprise Library 配置工具。下面描述一些配置工具的活动将帮助你使用配置工具:
- 可以使用配置工具创建、修改标准和的.NET Framework 节。更多信息,请参阅配置。
- 可以用配置工具调整应用程序块的配置为特定的运行时环境。更多信息,请参阅定制运行时设置。
- 可以使用配置工具加密和解密配置节中的数据。更多信息,请参阅加密配置节数据。
单独的应用程序块的改变单独的应用程序块的重要改变交在以下节中描述。它们讨论了数据访问、异常处理和日志应用程序块的改变。
数据访问应用程序块2007年5月发行的数据访问应用程序块包括下列改进:
- 包括一个新类 SqlCeDatabase ,它允许你使用 SQL Server CE。这是一个 SQL Server 轻量级的、内部过程(in-process)的版本,包含了相关数据库的基本功能。
- 包括一个Database.UpdateDatabase方法的重载,它带有updateBatchSize参数。设置updateBatchSize参数为正整数将导致 DataAdapter对象将以指定大小的块发送修改到数据库。这减少了数据库回发的次数。
更多信息,请参阅数据访问应用程序块文档。
异常处理应用程序块2007年5月发行的异常处理应用程序块包括下列改进:
- 异常处理应用程序块可用于在 Windows Communication Foundation (WCF) 应用程序的服务接口上实现异常屏蔽。ExceptionShieldingAttribute可以被定义一个服务实现类上,以调用部署在服务边界上的异常。FaultContractExceptionHandler可用于映射异常为失败契约以防止返回的敏感信息给了不可信的调用者。
- ExceptionPolicy.HandleException方法有了一个新的重载,它调用异常处理策略,在一个输出参数中返回结果异常来代替抛出结果异常。
- Wrap 和 Replace 异常处理程序包含一个附加的配置属性,它允许你指定在外部资源中的异常信息而不是直接在配置文件中的。此功能可用于异常信息的本地化。
更多信息,请参阅异常处理应用程序块文档。
日志应用程序块2007年5月发行的异常处理应用程序块包括下列改进:
- 现在包括一个 Rolling Flat File Trace Listener 。这个跟踪监听器在当前日志文件超出预定义的时间或大小时创建一个新的日志文件。
- 现在包括一个 WCF 适配器,允许你记录 WCF 消息。
- 现在包括了一个TimeStampToken类的改进版本。日志应用程序块的早期版本只允许时间间隔记录为协道界时(UTC)。在这个版本中,时间间隔令牌当前支持一个local:前缀,以指出时间间隔以本地时间显示。更多信息,请参阅跟踪监听器属性。
- 包括一个 ReflectedPropertyToken类。日志应用程序块的这个发行支持一个新的格式化令牌,允许记录在定制类上的定制属性,这个类派生自 LogEntry 类,或者是对它的修改。更多信息,请参阅扩展和修改日志应用程序块。
更多信息,请参阅日志应用程序块文档。
Enterprise Library 的添加Enterprise Library 3.1 包括二个新的应用程序块,二个向导包,和集成到 Visual Studio 中的配置编辑器。下面将对它们进行描述:
验证应用程序块
验证应用程序块允许开发人员生成用于他们的应用程序的验证规则。它提供了下列好处:
- 它提供一个为业务对象定义验证规则的通用方法,以允许它们在应用程序中跨各层中使用。
- 它提供了一个通用验证规则类型集,以及让开发人员容易的定义自己的规则类型的能力。
- 提供了使它易于集成验证应用程序块到 ASP.NET、Windows 窗体和 WCF 中的技术适配器。
更多信息,请参阅验证应用程序块文档。
策略注入应用程序块策略注入应用程序块允许开发人员指定在一个策略集条目中的对象的横切( corsscutting )行为。横切关系是普通的跨越多个对象的必要任务、特征或处理。例如日志、授权、验证和度量。一个策略是一系列处理程序的组合,处理程序在客户代码调用类的方法,以及带有基于属性的异常策略时执行,一系列的配置方法选择类和类成员(方法和属性)为应用程序块加上处理程序。策略注入应用程序块的目的是分离核心和横切关系,并最少化与实现普通特性关联的潜在问题。
策略注入应用程序块提供了一个 ready-built 解决方案,它易于在新的或已存在的应用程序中实现,特别是在已利用 Enterprise Library 的应用中。它与这些应用程序块的预构建处理程序一起加快在使用 Enterprise Library 时的开发,同时帮助管理横切关系。开发人员也可以创建自己的处理程序和策略,以实现几乎任何所需要的用于它们的对象的方法和属性的拦截处理。
更多信息,请参阅策略注入介绍。
强命名向导包Enterprise Library 的这个发行包括了一个新的强命名向导包,它与Visual Studio 进行了集成。它自动化了项目的强命名集处理,也可以修改任何
InternalsVisibleTo 属性以包含一个公开钥匙。
更多信息,请参阅强命名 Enerprise Library 程序集。
应用程序块软件工厂应用程序块软件工厂提供的自动化的、写入的向导,这个向导简化了构建定制的应用程序块和应用程序块提供程序类的过程。应用程序块软件工厂包括不同任务的向导自动方法。如:
- 创建一个新的应用程序块
- 创建一个新的提供程序库
- 创建一个用于 Enterprise Library 应用程序块的类型化或无类型的提供程序
- 创建一个新的类型化的或无类型的提供程序(通用的)
- 转换一个无类型提供程序为一个类型化的
- 创建一个新的提供程序工厂和基类
- 创建一个新的设计时提供提供程序基节点
- 创建一个提供程序设计时节点
更多信息,请参阅应用程序块软件工厂文档。
顶部
编辑Enterprise Library 应用程序块
应用程序块帮助解决开发人员所面对的从一个项目到下一个项目中的普通问题。它们被设计成对 Microsoft 推荐的用于 .NET 应用程序的最佳实践的封装。也可以很快且容易的添加到.NET应用程序中。例如,数据访问应用程序块在简单类中提供了对最常使用的 ADO.NET 特征的访问,促进开发者的生产力。它也解决应不直接受基本类库支持的场景。
不同的应用程序有不同的需求,你将发现在你构建的每个应用程序中并不是每个应用程序块都是有用的。在使用一个应用程序块之前,要对应用需求和应用程序块设计解决的场景有一个很好的理解。
Enterprise Library 3.1 发行包含下列程序块:
- 缓存应用程序块。开发人员可以使用这个应用程序块向应用程序中加入本地缓存。
- 密码应用程序块。开发人员可以使用这个应用程序块向应用程序中加入哈希和对称加密。
- 数据访问应用程序块。开发人员可以使用这个应用程序块向应用程序中加入标准数据库功能。
- 异常处理应用程序块。开发人员和决策者可以使用这个应用程序块创建一个处理发生穿过企业应用架构层异常的固定策略。
- 日志应用程序块。开发人员可以使用这个应用程序块在应用程序中包含标准的日志功能。
- 安全应用程序块。开发人员可以使用这个应用程序块向应用程序中加入授权和安全缓存功能。
- 验证应用程序块。开发人员可以用这个应用程序块为业务对象创建验证规则,这些规则跨越应用程序不同层。
- 策略注入应用程序块。开发人员可以使用这个应用程序块实现拦截策略,这用于使普通特征的实现更简单而有效,例如跨越一个应用的日志、缓存、异常处理和验证。
Enterprise Library 还包括一个核心功能集,包括配置、度量、对象构建服务。这些功能被所有应用程序块所使用。
顶部
编辑Enterprise Library 配置工具
应用程序块设计用于各种不同的企业应用程序开发场景。这种设计方法允许你非常容易的适配一个应用程序块以满足实际的需要。用配置设置来完成它,而这用配置工具非常容易改变。可以为应用程序块的核心功能和每个提供程序类型定义配置设置。
用配置设置适配应用程序块到特定的情况有二个好处:
- 不同的人可以在应用程序生命周期内的不同时段配置应用程序块的特点。例如,一个开发人员可以在应用程序开发期间配置一个提供程序访问特定的数据库,而系统管理员可以决定在开发期间加密数据库连接字符串。
- 可以为增多的复杂情况增加应用程序块配置。例如,可以使用默认设置和提供程序初始化配置一个应用程序块,随着你对场景理解的深入和技能的进步,你可以修改应用程序块配置,而不需要修改代码、重新编译或者重新部署它。
Enterprise Library 包含图形化的配置工具,允许你创建和修改配置文件。配置编辑器与 Visual Studio 进行了集成,而且还有一个独立的版本(Enterprise Library 配置控制台)。这二个配置工具具有同样的功能,使用这些工具,就可以修改和验证应用程序块设置,而不用手工修改它们保存的 XML 配置文件。配置工具显示了这些可以修改的设置和支持的默认值。
每个应用程序块包含了一些扩展点,这些是开发人员可以用指定的功能包含它们自己的实现(例如,提供程序)的地方。例如,可以添加后台存储到缓存应用程序块中。这些定制的提供程序可以与应用程序块提供的提供程序互换。配置控制台让你选择定制的后台存储并保存这个信息到合适的 XML 配置文件中。这意味着应用程序使用定制的存储而不用修改任何代码,并且也不用重新编译。
图 1.1. 配置控制台用户界面示例
 配置控制台用户界面示例 |
使用配置编辑器配置编辑器与 Visual Studio 进行了集成。它使用标准的 Visual Studio 标准操作创建、打开和保存文件。可以在解决方案浏览器中双击来打开一个配置文件。也可以单击文件 → 打开 → 文件,然后导航到要打开的文件。
如果文件处于源码控制下,将应用普通的规则。你在保存修改到一个文件之前不得不先签出它。
配置编辑器使用标准的 Visual Studio 窗口和列表来显示信息:
- 主 Visual Studio 窗口显示配置的层次。
- 要显示和修改一个节点的属性,必须先要在主窗口中选定节点。
- 标准 Visual Studio 错误列表显示所有配置验证错误。
使用配置控制台要使用配置控制台,单击任务栏上的
开始,指向程序,指向
Microsoft patterns & practices,指向
Enterprise Library 3.1,然后单击
Enterprise LibraryConfiguration。
构建配置控制台Enterprise Library 包含一个放置在正确的目录中的配置控制台的可执行文件。无论如何,如果定制了配置控制台源码,就可能需要重新编译源码。这可以使用BuildLibrary 批处理文件来完成。
配置控制台要求应用程序块的程序集放置在与配置控制台可执行文件同样的目录中或者全局程序集缓存中。它要求运行时程序集和设计时程序集同时存在。这些程序集不包括用于运行使用应用程序块的应用程序的程序集。不管怎样,配置控制台在修改应用程序块配置时使用它们。要求的程序集有后缀.configuration.design.dll。可以使用CopyAssemblies 批处理文件复制必要的程序集到bin目录下。
当运行CopyAssemblies批处理文件时,它复制所有用于运行时和设计时的必要程序集到bin目录中。关于运行时配置组件和设计时配置组件之间的关系的更详细的信息,请参阅设计时配置。
注意
当配置控制台打开一个应用程序的配置文件时,它尝试加载所有在文件中引用的提供程序的程序集。如果应用程序配置包含定制的提供程序,必须构建可用于配置控制台的提供程序的程序集。可以复制程序集到配置控制台可执行文件的目录中或者将它安装到全局缓存中来做到。也可用使用DEVPATH环境变量来让配置控制台定位提供程序的程序集。
顶部
编辑配置 appSettings
可以使用配置工具创建和修改 .NET 框架的
<appSettings>节。注意,
<appSettings>节必须包含在单一的文件中并且不能拆分跨越多个文件。不能修改的文件的示例还包括
Machine.config 文件,以及包含可选的指定一个指向外部配置文件的
file 属性的
<appSettings>节。
配置<appSettings>节
- 打开配置文件。更多信息,请参阅配置应用程序块。
- 添加 Application Settings 节点到 App.config 的节点。
- 添加设置,右单击 Application Settings 节点,单击 New Setting 然后在 Properties 中面板中设置名称和值。
顶部
编辑指定特定环境配置设置
可以用配置工具定制配置的运行时设置以适应特定的环境。这个特征在有多个环境共享同样的基本配置但要求不同的设置时非常有用。例如,你可能有一个使用一个用于数据访问应用程序块的字符串的开发环境,而测试环境使用另一个。
代替维护多个配置文件或者不得不手工或编程修改,可以创建一个基文件(.config)和一个包含不同的增量文件(.dconfig)。
定制运行时环境
- 创建一个.config 文件或者打开一个已存在的。
- 添加合适的配置块并配置它们。
- 右单击 Environments,指向 New,然后单击 Environment 。
- 在右边的面板中设置属性。Name 属性是环境的名称。EnvironmentConfigurationFile 属性是合并的配置文件。EnvironmentDeltaFile 属性是增量文件。如果你要加密文件,从下拉列表中选择一个提供程序设置 ProtectionProvider 属性。为要创建的每环境重复第三步和第四步。
- 单击要定制属性的节点。在 Enviroment 上的 Overrides 字段中单击,然后单击 Override Properties 。
- 设置节点的属性。
- 为要定制的每个节点重复第五步和第六步。
- 保存文件。
- 右单击环境结点名称,然后单击 Save Merged Configuration 。
也可以用命令行合并主文件和增量文件。如果你打算使用构建脚本,这将非常有用。要合并配置文件,必须在命令中同时提供主文件和增量文件。下列示例代码展示了语法:
MergeConfiguration.exe configFile deltaFile [mergedFile]
参数如下:
- configFile。主配置文件(.config),将与增量文件合并。
- deltaFile。环境增量文件。包含将合并到主文件中的信息。
- mergedFile。输出文件。这个文件结果来自configFile和deltaFile。如果不指定mergedFile,将使用保存在deltaFile中的文件名。
顶部
编辑使用不同的程序集
默认情况下,配置工具使用与 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 的那些所覆写。
顶部
编辑加密配置数据
可以加密和解密在配置文件中的配置节数据。配置节包含了用于应用程序块的配置信息。配置工具允许从包含在 Machine.config的文件中加密提供程序中选择。典型的是,使用 DPAPI 的
DataProtectionConfigurationProvider 和使用 RSA 的
RsaProtectedConfigurationProvider。
如果一个加密的配置文件只放在单一的服务器上,就可以使用
DataProtectionConfigurationProvider;如果打算将同样的加密的配置文件部署到 Web 场中的多个服务器上,将使用
RsaProtectedConfigurationProvider。此提供程序易于在一台计算机上加密数据,然后导出需要解密数据的私钥。可以部署配置文件和导出的私钥到目标服务器上,并重新导入密钥。
加密配置节
- 打开任一个配置工具。
- 打开一个已存在的配置文件或者创建一个新的。
- 单击要加密的配置信息的应用程序名称。
- 在 Properties 面板中,单击 ProtectionProvider。
- 选择 DataProtectionConfigurationProvider 或 RsaProtectedConfigurationProvider 。
提供程序的所有设置,如保存密钥的位置,也会在Machine.config,无法用配置工具修改这个文件。相反,必须改变自己的文件。
要解密配置文件,简单的在配置工具在打开,文件会自动解密。
顶部
编辑并行运行
nterprise Library 3.1 可以与 Enterprise Library 的早期版本并行安装。可以将为 Enterprise Library 3.1 编写的新的应用程序与为早期版本编写的应用程序一同部署。另外,也可以选择移植现有的程序,在某时刻只有一个程序集,到新的版本。
如果决定使用并行运行,必须部署不同的 Enterprise Library 版本到不同的目录中,在任何指定的目录中,不能混合和匹配来自不同版本的程序集。例如,在同一目录中,不能同时有数据访问应用程序块3.0 版和缓存应用程序块 2.0 版。
发布的项目文件(shipped project files)使用在 AssemblyInfo.cs文件中的数据来创建有不同版本信息的程序集。这允许你使用强命名并为并行运行添加不到的版本到全局缓存中。
部分移植在一个应用程序中的每个程序集,只可以引用到一个版本的 Enterprise Library,但有多个程序集的应用程序可以引用多个版本,包括使用 Enterprise Library 2.0 。一个程序集可以移值到用于 .NET Framework 3.0 的 Enterprise Library ,而其他的程序集可以独立的遗留下来。这意味着可以逐渐的移植应用程序,一次一个程序集。
注意
Enterprise Library 配置控制台特定于与它一样的版本,必须有属于那个版本的 DLL 在它的目录中。否则,当配置使用不同版本的 Enterprise Library 的应用程序集时,必须使用不同的配置控制台版本。
部分移植是受支持的,但有时实现复杂;否则,不推荐。
顶部