Simple Enterprise Library控制台应用程序拒绝编译

我刚刚下载并安装了Microsoft Enterprise Library 5.0 。 我启动了VS 2010以使用EL 5并创建了一个非常简单的控制台应用程序。 但是,它不会编译。 我收到以下错误:

命名空间“Microsoft.Practices.EnterpriseLibrary”中不存在类型或命名空间名称“Data”(您是否缺少程序集引用?)

我添加了Microsoft.Practices.EnterpriseLibrary.Common,Microsoft.Practices.EnterpriseLibrary.DataMicrosoft.Practices.Unity对我的项目的引用。

这是拒绝编译的简单代码。

using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Unity; using Microsoft.Practices.EnterpriseLibrary.Data; using Microsoft.Practices.Unity; namespace EntLib { class Program { static void Main(string[] args) { IUnityContainer container = new UnityContainer(); container.AddNewExtension(); var defaultDatabase = container.Resolve(); } } } 

上面的错误抱怨第2行:

 using Microsoft.Practices.EnterpriseLibrary.Data; 

有人可能会指出我犯了一个愚蠢的错误,但此刻我没有看到它。

我试图删除并再次添加Microsoft.Practices.EnterpriseLibrary.Data以重新启用但它没有帮助。

我在这个问题上找到了答案。 我将项目中的目标框架从.NET Framework Client Profile更改为.NET Framework 4。

我怀疑你是针对.NET客户端配置文件。 使用EntLib 5.0的Microsoft.Practices.EnterpriseLibrary.Data程序集时,您需要定位完整的.NET框架。 右键单击项目,选择“属性”,然后在“Applciation”选项卡中,选择“.NET Framework 3.5”或“.NET Framework 4.0”作为“目标框架”属性的值。 这是EntLib 5.0中的已知问题