Имам старо приложение Silverlight, което използва EF5 и не може да бъде надстроено до EF6. Имам друг проект, който използва EF6 с различен контекст, но получавам:
Не може да се зареди файл или сборка „EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089“ или една от неговите зависимости. Дефиницията на манифеста на разположената сглобка не съответства на препратката на сглобката. (Изключение от HRESULT: 0x80131040)
Предполагам, че това е така, защото EF5 вече е зареден (той е в основния проект, не ме питайте защо) и все още сочи към това dll
вместо към EF6. Как мога да накарам това да работи?
Добавих:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<codeBase version="5.0.0.0" href="/bgC:\Projects\project\2.1.1EF2\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.dll"/>
<codeBase version="6.0.0.0" href="/bgC:\Projects\project\2.1.1EF2\packages\EntityFramework.6.1.0\lib\net45\EntityFramework.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
към моя основен web.config след предложение на lgos, но сега получавам:
{"[A]System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection не може да бъде прехвърлен към [B]System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection. Тип A произхожда от 'EntityFramework, Version=5.0.0.0, Culture= неутрален, PublicKeyToken=b77a5c561934e089" в контекста "По подразбиране" на място "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\project211ef\97babe28\e7ea3fa9\assembly\dl3\01275099\70646f08_d 86ecf01\ EntityFramework.dll". Тип B произхожда от "EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" в контекста "По подразбиране" на местоположение "C:\Projects\project\2.1.1EF2\packages\EntityFramework. 6.1.0\lib\net45\EntityFramework.dll'."}
Изглежда, че все още се опитва да използва EF5, въпреки че има достъп до раздела за обекти EF6.
Поправих това, като добавих обвързващи пренасочвания. В основния web.config
пренасочвам към новата версия, а след това в под web.config
пренасочвам към старата версия.