代码改变世界

[EntLib]解决The type or namespace name 'Data' does not exist in the namespace 'Microsoft.Practices.EnterpriseLibrary' 的错误

2011-03-01 11:45  NicolasZhang  阅读(756)  评论(0编辑  收藏  举报

在使用EnterpriseLibrary的Data Access Application Block时,需要添加Microsoft.Practices.EnterpriseLibrary.Common

Microsoft.Practices.EnterpriseLibrary.Data

Microsoft.Practices.ServiceLocation

Microsoft.Practices.Unity

四个Dll的引用

但使用VS2010编译时还是会报错:The type or namespace name 'Data' does not exist in the namespace 'Microsoft.Practices.EnterpriseLibrary' (are you missing an assembly reference?)

解决方法:

在官方codeplex的discussions中找到:

To short circuit digging through that other thread - the Data block only works if you target the full .NET framework. By default, client projects in VS 2010 target the .NET Client profile. Go into your project properties and change your target framework to .NET Framework 4.0 instead of client profile and it should work.

即Visual Studio 2010在编译时默认在客户端使用.NET Client框架,而上面丢失的引用位于完整的.NET Framework 4.0中,所以在项目属性中将Target framework设置为.NET Framework 4再执行编译即可。