对于将基于 DAAB 的应用程序迁移到 .NET4 时遇到此问题的任何其他人,entlib5 提供了可通过例如安装的源代码C:\Program Files (x86)\Microsoft Enterprise Library 5.0\src\Enterprise Library 5.0 - Source Code.msi
运行该 msi 并接受默认设置会EntLib50Src
在您的文档区域下创建一个文件夹。如果您进入EntLib50Src\Blocks\Data
并打开Data.2010.sln
,您可以将目标框架更改为.NET Framework 4 Client Profile
.
这将创建一堆与System.Data.Oracle
依赖项相关的错误。删除对它的引用,然后排除Oracle
项目的部分并注释掉Oracle
公共代码中的任何引用。
如果您随后使用强名称签名重新编译,您可以将输出程序集(Microsoft.Practices.EnterpriseLibrary.Common.dll
和Microsoft.Practices.EnterpriseLibrary.Data.dll
)与.NET Framework 4 Client Profile
. 您必须Microsoft.Practices.Unity.dll
从 egC:\Program Files (x86)\Microsoft Enterprise Library 5.0\Bin
区域分发,但这是与客户端配置文件兼容的。
请注意,如果您的应用程序中不需要 Oracle 支持,则上述方法有效。我的没有,只有它的 SQL Server 和 VistaDB。以上应该适用于与 ADO.NET 兼容的任何非 Oracle 数据库。