Simple Enterprise Library控制台应用程序拒绝编译
我刚刚下载并安装了Microsoft Enterprise Library 5.0 。 我启动了VS 2010以使用EL 5并创建了一个非常简单的控制台应用程序。 但是,它不会编译。 我收到以下错误:
命名空间“Microsoft.Practices.EnterpriseLibrary”中不存在类型或命名空间名称“Data”(您是否缺少程序集引用?)
我添加了Microsoft.Practices.EnterpriseLibrary.Common,Microsoft.Practices.EnterpriseLibrary.Data和Microsoft.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中的已知问题