2012-06-04 3 views
0

Я написал простой сервис WCF с использованием Entity Framework 4.1. В моих ссылках у меня есть EntityFramework.Dll 4.1.0.0 и System.Data.Entity 4.0.0.0. У меня есть Копировать локальное значение в True на обоих. Когда я публикую эту службу, обе упомянутые библиотеки DLL находятся в папке BIN, однако при вызове службы я получаю следующую ошибку:Ошибка при сбое при вызове службы WCF с EF

Данное имя сборки или кодовая база, 'C: \ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Data.Entity \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Data.Entity.dll 'недействителен.

ответ

0

System.Data.Entity.dll не используется для развертывания бинов. Если на целевом компьютере установлена ​​.NET Framework 4, у вас должна быть эта сборка. Это должно быть в ПКК. При загрузке сборок CLR сначала просматривает GAC и игнорирует все, что у вас есть в каталоге bin. Если у вас нет .NET Framework 4 на целевой машине, ваша программа не будет работать. System.Data.Entity.dll является частью .NET Framework и зависит от .NET Framework (в данном случае .NET Framework 4). Попробуйте удалить и прочитать ссылку на System.Data.Entity.dll, чтобы очистить все изменения, внесенные вами в проект, чтобы скопировать их, а затем развернуть вашу программу на целевой машине.