2014-01-20 9 views
6

На Windows 2008 R2, работающие на Virtuozzo виртуальной машиной, ASP.NET MVC 4 веб с помощью Entity Framework бросает исключениеОшибка сервера "Метод не найден: 'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior (Boolean)'."

Method not found: 'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)' 

идентичны веб с тем же web.config работает нормально на другого (корневого) сервера с Windows 2012 и, конечно, локально в среде разработки.

Мы используем .NET 4.0. Верхней части трассировки стека выглядит следующим образом:

[MissingMethodException: Метод не найдено: 'Пустота System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior (Boolean)'.] System.Data.Entity.Internal.LazyInternalContext .InitializeContext() +0 System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery (String sql, Object [] parameters) +34 System.Data.Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerable (параметры String sql, Object []) +91 System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery (Тип elementType, String sql, Object [] parameters) +250 System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator() +34System.Data.Entity.Internal.InternalSqlQuery 1.GetEnumerator() +28 System.Collections.Generic.List 1..ctor (IEnumerable 1 collection) +382 System.Linq.Enumerable.ToList(IEnumerable 1 источник) +80 [...]

Я сделал все, что suggestes в Can anyone spot why I keep getting this error testing the EF 5 beta. Нет никаких следов старой бета-версии EF. Я повторно установил .NET 4.

Ошибка встречается в Google.

Что еще я могу попробовать?

+0

@hvd, спасибо за хин. Но это относится к процессу разработки, не так ли, и здесь все звучит. В конце концов, он запускается на другом сервере, а не на нашем экземпляре резервного копирования. – Olaf

+0

А, прости, я пропустил этот бит. Вы правы, если один и тот же сайт работает на одном сервере, а другой не работает, мой комментарий не может помочь. – hvd

+0

Подождите - нет, это может быть актуально. Если вы используете .NET Entity Framework в проекте .NET 4.0, он будет работать, если вы запустите его в системе с установленным .NET 4.5. Вы только начинаете получать ошибки при запуске на сервере, у которого его нет. – hvd

ответ

4

Я столкнулся с этим, и проблема заключалась в том, что версии 4.1 и 5 платформы Entity Framework установлены на моей рабочей станции. Эта конкретная программа должна быть установлена ​​на сервере, который запускает .Net 4, но не 4.5. (По другим причинам мы не можем обновить сервер.) Однако по умолчанию, когда я добавил модель данных Entity Data ADO.Net в свой проект, Visual Studio добавила ссылку на версию EF 5.

Путем удаления ссылки EF и вручную добавив его в качестве версии 4.1, он успешно запущен на сервере.

Вы уже решили эту проблему с помощью установленного .Net 4.5 на сервере ...

+1

Спасибо, я тоже верю. – Olaf

Смежные вопросы