Ошибка EF 5 и VS 11 при переносе добавления

Я только что установил VS 11 и создал проект библиотеки классов. Затем я добавил бета-версию Entity Framework 5. Затем я создал простой пользовательский класс и класс dbcontext. Затем я использовал консольную команду «Enable-Migrations -EnableAutomaticMigrations», которая отлично сработала, и добавил соответствующий каталог миграции и файл конфигурации. Проблема в том, что когда я запускаю «Add-Migrtion InitialMigration», я получаю следующую ошибку.

System.Reflection.TargetInvocationException: цель вызова сгенерировала исключение. ---> System.IO.FileNotFoundException: не удалось загрузить файл или сборку «System.Data.Entity, версия = 4.2.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089» или одну из ее зависимостей. Система не может найти указанный файл. ---> System.IO.FileNotFoundException: не удалось загрузить файл или сборку «System.Data.Entity, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089» или одну из ее зависимостей. Система не может найти указанный файл.

Раньше у меня был установлен EF 4.2, но я его удалил. Фактически, после того, как я впервые попробовал это, и это не удалось, я удалил VS, SQL и все, что с ними связано. Затем я перезагрузился и просто установил визуальную студию 11 и попробовал еще раз, но все равно получаю ту же ошибку. Я подозреваю, что это связано с предыдущей установкой Entity Framework, но я не знаю, как это исправить.

Я работаю на Win 7. Я пробовал gacutil, как описано здесь Может ли кто-нибудь понять, почему я продолжаю получать эту ошибку при тестировании бета-версии EF 5, но я не нашел ничего, что можно было бы удалить.


person Matthew    schedule 25.03.2012    source источник
comment
Есть ли у вас какие-либо решения для этого, я также получаю ту же проблему   -  person Venom    schedule 21.12.2012


Ответы (2)


System.Data.Entity.dll 4.2.0.0 поставлялась только как часть CTP EF в июне 2011 года. Похоже, что либо код, который вы компилируете, ссылается на эту сборку, либо какой-то другой код, который он использует, ожидает эту сборку. Проверьте ссылки в своем проекте и убедитесь, что они не ссылаются на эту сборку и что любые другие проекты или сборки, на которые есть ссылки, сами не ссылаются на эту сборку. Если вы обнаружите ссылки, вам нужно будет удалить их и перестроить с учетом .NET 4.5 и EntityFramework.dll 5.0.

person Arthur Vickers    schedule 25.03.2012

Лучший способ исправить это — удалить эту папку из GAC после удаления CTP:

Windows\Microsoft.NET\assembly\GAC_MSIL\policy.4.0.system.data.entity

person Sleiman Zublidi    schedule 03.07.2013