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

时间:2010-05-01 21:38:24

标签: c# .net enterprise-library enterprise-library-5

我刚刚下载并安装了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以重新启用,但它没有帮助。

2 个答案:

答案 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中的已知问题