3

我刚刚下载并安装了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<EnterpriseLibraryCoreExtension>();
            var defaultDatabase = container.Resolve<Database>();
        }
    }
}

上面的错误抱怨第 2 行:

using Microsoft.Practices.EnterpriseLibrary.Data;

有人可能会指出我的一个愚蠢的错误,但目前我看不到它。

我试图删除并再次将 Microsoft.Practices.EnterpriseLibrary.Data 添加到引用中,但它没有帮助。

4

2 回答 2

6

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

于 2010-05-01T21:54:18.993 回答
1

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

于 2013-10-29T09:16:54.873 回答