简单的企业库控制台应用程序无法编译

3
我刚刚下载并安装了Microsoft Enterprise Library 5.0。我启动VS 2010来使用EL 5,并创建了一个非常简单的控制台应用程序。但是,它无法编译。我收到了以下错误:
"The type or namespace name 'Data' does not exist in the namespace 'Microsoft.Practices.EnterpriseLibrary' (are you missing an assembly reference?)"
我向我的项目添加了"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个回答

6

我在这个问题找到了答案。我将我的项目目标框架从.NET Framework客户端框架更改为.NET Framework 4。


1
我怀疑您正在针对.NET客户端框架进行操作。在使用EntLib 5.0的Microsoft.Practices.EnterpriseLibrary.Data程序集时,您需要将目标设置为完整的.NET框架。右键单击项目,选择“属性”,在“应用程序”选项卡中,将目标框架属性的值设置为.NET Framework 3.5或.NET Framework 4.0。这是EntLib 5.0中已知的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接