Enterprise Library 5.0不显示命名空间Microsoft.Practices.EnterpriseLibrary.Data

时间:2013-06-24 06:10:46

标签: class ado.net namespaces enterprise-library enterprise-library-5

我在Visual Library 2008中使用Enterprise Library 4.0。它工作正常并显示命名空间Microsoft.Practices.EnterpriseLibrary.Data。现在我安装了VS 2010和Enterprise Library 5.0。(因为4.0不支持vs 2010)。

但问题是Enterprise Library 5.0没有显示Microsoft.Practices.EnterpriseLibrary.Data。在5.0 thriugh中是否有另一个命名空间,我可以访问Microsoft.Practices.EnterpriseLibrary.Data命名空间下的Database类?

请告诉我。

2 个答案:

答案 0 :(得分:2)

您可能正在定位.NET Framework客户端配置文件。数据访问块依赖于System.Data.Oracle,需要完整的.NET Framework。

答案 1 :(得分:0)

对于其他任何通过将基于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.dllMicrosoft.Practices.EnterpriseLibrary.Data.dll)与.NET Framework 4 Client Profile一起使用。您必须从例如{1}}分发Microsoft.Practices.Unity.dllC:\Program Files (x86)\Microsoft Enterprise Library 5.0\Bin区域,但这与客户端配置文件兼容。

请注意,如果您的应用中不需要Oracle支持,则上述方法有效。我没有,它只是SQL Server和VistaDB。以上内容适用于任何与ADO.NET兼容的非Oracle数据库。