我刚刚下载并安装了Microsoft Enterprise Library 5.0。我启动了VS 2010以使用EL 5并创建了一个非常简单的控制台应用程序。但是,它不会编译。我收到以下错误:
命名空间中不存在类型或命名空间名称“数据” 'Microsoft.Practices.EnterpriseLibrary' (你错过了一个集会吗? 引用?)
我添加了 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<EnterpriseLibraryCoreExtension>();
var defaultDatabase = container.Resolve<Database>();
}
}
}
上面的错误抱怨第2行:
using Microsoft.Practices.EnterpriseLibrary.Data;
有人可能会指出我犯了一个愚蠢的错误,但此刻我没有看到它。
我尝试删除并再次添加Microsoft.Practices.EnterpriseLibrary.Data以重新启用,但它没有帮助。
答案 0 :(得分:6)
我在this question找到了答案。我将项目中的目标框架从.NET Framework Client Profile更改为.NET Framework 4。
答案 1 :(得分:1)
我怀疑您的目标是.NET客户端配置文件。使用EntLib 5.0的Microsoft.Practices.EnterpriseLibrary.Data程序集时,您需要定位完整的.NET框架。右键单击项目,选择“属性”,然后在“Applciation”选项卡中,选择“.NET Framework 3.5”或“.NET Framework 4.0”作为“目标框架”属性的值。这是EntLib 5.0中的已知问题