Тип "System.Data.Entity.DbContext" определен в сборке, на которую не ссылаются. Вы должны добавить ссылку на сборку "EntityFramework 2"
У меня есть одно решение - один проект - это библиотека классов с моделью данных .edmx
Другой - проект веб-форм asp.net.
когда я запускаю решение, я получаю следующее исключение:
Тип "System.Data.Entity.DbContext" определен в сборке, на которую не ссылаются. Вы должны добавить ссылку на сборку "EntityFramework, Version = 5.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089".
и когда я вижу ссылки в моем проекте asp.net, я вижу ссылку на мой класс, и я не вижу ссылки на сущность framework. Но проблема в том, что инфраструктура сущности устанавливается как в моей библиотеке классов, так и в веб-проекте
Ответы
Ответ 1
Я думаю, что ваша версия EntityFramework
была смущена
Загрузите правильную версию с помощью установщика пакетов NuGet
.
См. это обсуждение для начала работы: Тип или имя пространства имен DbContext не удалось найти
И посмотрите эту же проблему и ответ: Здесь
Ответ 2
Я нашел это решение подходящим для меня.
Добавление ссылки на библиотеку Entity Framework: -
Ответ 3
Я предлагаю вам проверить:
Allow NuGet to download missing packages during build
отмечен галочкой
см. ссылку
Ответ 4
Если у кого-то есть несколько проектов, вам необходимо установить их в проекты, которые этого требуют. Также мне помог изменить проект по умолчанию, а затем установить с помощью консоли диспетчера пакетов и решить эту проблему.
Ответ 5
У меня была та же проблема, и я, наконец, решил ее. вам следует удалить каждый экземпляр фреймворка сущности на вашем компьютере. Если вы установили его с помощью установочного файла, вам нужно удалить его из программ добавления/удаления, и если вы установили его с помощью пакетов самородок, вам необходимо удалить его оттуда.
Затем вы снова устанавливаете его с помощью пакетов самородок и перезапускаете свою визуальную студию. Это решило мою проблему.
Ответ 6
Я столкнулся с этой проблемой, когда я вытащил проект из SVN на новый компьютер. Установка Entity Framework через NuGet решила проблему. Я установил самую последнюю версию, которая теперь 6.1.1
Ответ 7
У меня уже была правильная версия DLL-структуры сущности, и ни один из других ответов здесь не работал у меня: мне нужно было выбрать ссылку EntityFramework в проекте, а затем в свойствах установить "Специфическая версия" в true.
Ответ 8
В сообщении об ошибке сообщается, что в библиотеке классов с моделью данных .dmx загружена платформа Entity Framework 5... (очевидно, из-за отсутствия сообщений об ошибке в .edmx)... и ваш веб-проект ссылается на класс библиотеки... поэтому он имеет доступ ко всему в библиотеке классов... но он не может обрабатывать типы данных в библиотеке классов, потому что вашему веб-проекту требуется ссылка на Entity Framework 5. Вы также заметите, что ваш intellisense не работает 't работать для объектов в вашей библиотеке классов.
Просто добавьте ссылку в свой веб-проект в инфраструктуру сущности 5... и все ваши настройки.
Ответ 9
Добавьте правильную ссылку в файл *.csproj. в моем cas я добавил ниже в *.csproj файл и проблема решена.
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private>
</Reference>