2012-02-15 2 views
1

У меня возникли трудности с внедрением EFCodeFirst.CreateTablesOnly (изменено на DontDropDbJustCreateTablesIfModelChangedStart).diffculty, реализующий EFCodeFirst.CreateTablesOnly/DontDropDbJustCreateTablesIfModelChangedStart

Я успешно достал пакет, используя NUGET. Теперь есть упоминание о

в packages.config

и DontDropDbJustCreateTablesIfModelChangedStart.cs

Я добавил Devtalk.EF.CodeFirst в ссылки

в моем каталоге app_start.

Но я все еще не могу использовать класс DontDropDbJustCreateTablesIfModelChangedStart. Когда я, приложение умирает с сообщ

Не удалось загрузить файл или сборку 'EntityFramework, Version = 4.1.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089' или один из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылочной позиции сборки. (Исключение из HRESULT: 0x80131040)

Когда я проверяю определение DontDropDbJustCreateTablesIfModelChangedStart, я считаю, он имеет только подпись, а не определение.

Что я сделал не так? Или на каком этапе я не уходил? Должен ли я использовать класс/метод?

+0

Начните с сообщением об ошибке. Что он говорит вам? Существует некоторая проблема с загрузкой сборки. Вы ссылаетесь на сборку? Доступно ли это в вашем веб-приложении? Вы используете правильную версию? –

+0

Ladislav, если я использую метод по умолчанию для SetInitializer (CreateDatabaseIfNotExists), ошибки нет. Таким образом, платформа Entity Framework загружается правильно. Моя проблема связана с DontDropDbJustCreateTablesIfModelChangedStart. У меня есть ссылка на эту DLL Devtalk.EF.Codefirst Помогает ли это? –

+0

Нет, это не поможет. Какую версию EF вы используете точно? Если вы используете инициализатор по умолчанию, вы используете «некоторую» версию. Ошибка говорит, что есть проблема с загрузкой версии 4.1.0.0 или некоторой зависимостью. –

ответ

1

Проблема в том, что библиотека, вероятно, была скомпилирована с EntityFramework.dll версии 4.1.0.0, и автор не обновил ее для версий 4.2.0.0 и 4.3.0.0. Попробуйте выполнить redirect версии 4.1.0.0 до версии 4.3.0.0 в файле web.config.

+0

Согласен, но смущает. web.config указывает на EF 4.3. На самом деле, я не могу найти ссылки на EF 4.1. –

+1

Ссылка не в вашем коде. Ссылка находится в коде, на который вы ссылаетесь. –

+0

очень проницательный. это был EFCodeFirst.CreateTablesOnly настаивал на использовании EF 4.1. –

1

Не используйте его использовать Миграции EF в:

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-released.aspx

+0

Прошло 6 месяцев, но у меня появилась возможность прочитать ваше сообщение. Очень хороший материал. Но я чувствую, что EF заслуживает более надежной поддержки развертывания. Любые серьезные усилия, запланированные в этом направлении? –