Консольное приложение Simple Enterprise Library отказывается компилироваться


Я только что скачал и установилMicrosoft Enterprise Library 5.0 . Я запустил VS 2010, чтобы играть с EL 5 и создал очень простое консольное приложение. Однако он не будет компилироваться. Я получил следующую ошибку:

тип или имя пространства имен "Data" не существует в пространстве имен - Microsoft.Практика.EnterpriseLibrary' (вы пропускаете сборку ссылка?)

Я добавил Microsoft.Практика.EnterpriseLibrary.Общий, Microsoft.Практика.EnterpriseLibrary.Data и Microsoft.Практика.Единство ссылки на мой проект.

Вот простой код, который отказывается компилироваться.

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.Практика.EnterpriseLibrary.Данные для подтверждения, но это не помогло.

2 3

2 ответа:

Я нашел свой ответ на этот вопрос. Я изменил целевую платформу в своем проекте на .NET Framework 4 из профиля клиента .NET Framework.

Я подозреваю, что вы нацелены на профиль клиента .NET. При использовании Microsoft.Практика.EnterpriseLibrary.Сборка данных EntLib 5.0, вы должны ориентироваться на полную платформу .NET framework. Щелкните правой кнопкой мыши на проекте, выберите Свойства и на вкладке Applciation выберите .NET Framework 3.5 или .NET Framework 4.0 в качестве значения свойства Target Framework. Это известная проблема в EntLib 5.0