Не удалось загрузить файл или сборку «EntityFramework.SqlServer, версия = 6.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089»

Я использую ASP.NET 5 и Entity Framework 6 (именно 6.1.3), следуя этому ссылка. Пробовал каждое другое решение, например

  1. Удаление версии в appconfig
  2. Добавление <dependentAssembly>
  3. Повторная установка EntityFramework 6 с использованием Update-Package -reinstall EntityFramework
  4. Проверьте EntityFramwork.SqlServer
  5. Очистил %temp% и выполнил чистую сборку вместе с автономной перестройкой.

Я получаю здесь ошибку

[DbConfigurationType(typeof(CodeConfig))]    
public class MyContext : DbContext
{
public MyContext()
        : base("DefaultConnection") <-- error here
    {
    }
 }

Но все еще не удалось устранить эту ошибку, любые полезные ссылки будут оценены

Не удалось загрузить файл или сборку «EntityFramework.SqlServer, версия = 6.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089» или одна из ее зависимостей. Системе не удается найти указанный файл.":"EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

Трассировка стека

at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Data.Entity.Utilities.TypeExtensions.CreateInstance[T](Type type, Func`2 exceptionFactory)
   at System.Data.Entity.Utilities.TypeExtensions.CreateInstance[T](Type type, Func`3 typeMessageFactory, Func`2 exceptionFactory)
   at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.<.ctor>b__1()
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at System.Lazy`1.get_Value()
   at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.GetConfiguration()
   at System.Data.Entity.Infrastructure.DependencyResolution.InternalConfiguration.get_Instance()
   at System.Data.Entity.DbConfiguration.get_DependencyResolver()
   at System.Data.Entity.DbContext.InitializeLazyInternalContext(IInternalConnection internalConnection, DbCompiledModel model)
   at System.Data.Entity.DbContext..ctor(String nameOrConnectionString)
   at myproject.data.myprojectContext..ctor() in D:\Projects\Personal\myproject\myproject.data\myprojectContext.cs:line 12
   at myproject.data.Infrastructure.DatabaseFactory.Get() in D:\Projects\Personal\myproject\myproject.data\Infrastructure\DatabaseFactory.cs:line 9
   at myproject.data.Repository`1.get_DataContext() in D:\Projects\Personal\myproject\myproject.data\Repository.cs:line 28
   at myproject.data.Repository`1..ctor(IDatabaseFactory databaseFactory) in D:\Projects\Personal\myproject\myproject.data\Repository.cs:line 21
   at myproject.data.Repository.ProfileRepository..ctor(IDatabaseFactory databaseFactory) in D:\Projects\Personal\myproject\myproject.data\Repository\ProfileRepository.cs:line 9

Web.Config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="...." />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

person Sandip Bantawa    schedule 03.05.2016    source источник
comment
Не могли бы вы попробовать очистить временные файлы в обычном режиме в C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files и Clean Solution?   -  person Win    schedule 03.05.2016
comment
Кроме того, попробуйте right click solution → clean solution → and rebuild. А еще я сталкивался с тем, что несколько записей токена открытого ключа были добавлены к моему app.config, когда у меня была эта ошибка. Странно не правда ли   -  person Eon    schedule 03.05.2016
comment
В худшем случае, вы могли бы удалить его полностью и установить снова, а не переустанавливать?   -  person Win    schedule 03.05.2016
comment
В некоторых случаях я мог исправить такие ошибки, просто удалив все из папки packages на диске (используя Проводник), а затем восстановив пакеты, включив Восстановление пакетов (эта опция всегда используется для получения отсутствующих пакетов при сборке).   -  person Peter B    schedule 03.05.2016
comment
@Win yes очистил %temp% и переустановил   -  person Sandip Bantawa    schedule 03.05.2016
comment
Не могли бы вы добавить поставщиков entityFramework в свой app.config?   -  person uTeisT    schedule 03.05.2016
comment
@Krohn, мой глоток срабатывает при очистке, поэтому да, перестроил, в app.config нет нескольких токенов.   -  person Sandip Bantawa    schedule 03.05.2016
comment
@uteist уже добавлен   -  person Sandip Bantawa    schedule 03.05.2016
comment
Чтобы указать на очевидное, эта DLL находится в вашем каталоге выполнения?   -  person CathalMF    schedule 03.05.2016
comment
@CathalMF да, это отдельная dll   -  person Sandip Bantawa    schedule 03.05.2016
comment
@brykneval Какова ваша структура каталогов и где находится EntityFramework.SqlServer.dll?   -  person CathalMF    schedule 03.05.2016
comment
Несколько связанная структура проекта @CathalMF находится в нижней части трассировки стека, которую я опубликовал. Это простой проект.данные, проект.веб. . . entityframework.sqlserver в проекте.данные   -  person Sandip Bantawa    schedule 03.05.2016
comment
У вас есть несколько ссылок на dll EntityFramework.SqlServer? Они все используют одну и ту же версию?   -  person Liam    schedule 03.05.2016
comment
@brykneval Плохо, пропустил там ссылку. А как насчет раздела «зависимая сборка»? У вас там было перенаправление привязки? или только сборка Identity?   -  person uTeisT    schedule 03.05.2016
comment
@uteist оба, я выбросил его, потому что вопрос становился излишне длинным   -  person Sandip Bantawa    schedule 03.05.2016
comment
@brykneval Здесь заканчиваются варианты :) Была такая же проблема раньше, и invariantProvider + <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> исправили ее для меня. Есть ли шанс, что в вашем решении есть несколько проектов, и, возможно, один из проектов ссылается на старую EF.dll/EF.SqlServer.dll?   -  person uTeisT    schedule 03.05.2016
comment
@brykneval Мне любопытно об этом. Есть прогресс? Не могли бы вы проверить свой проект(ы) на наличие ссылок?   -  person uTeisT    schedule 04.05.2016
comment
@uteist Я не проверял ссылок на более раннюю версию, это небольшой проект, и сейчас я перехожу на 4.5.1.   -  person Sandip Bantawa    schedule 04.05.2016


Ответы (1)


Сначала проверьте, какую версию EF вы используете. Проверьте свою версию. Если вы хотите обновить свою версию, вы можете управлять обновлением EF из NuGet.

Перейдите к решению вашего проекта -> «Управление пакетом NuGet для решения», нажмите «Управление» в «Entity Framework».

Теперь проверьте ваш app.config . Возможно здесь неправильный номер версии. name="entityFramework" должен иметь правильный номер версии.

Кроме этого, вам следует попробовать установить пакет nuget для EntityFramework.SqlServer с помощью следующей команды в консоли диспетчера пакетов.

Install-Package EntityFramework.SqlServer-Version 7.0.0-beta6-Pre

person Reishabh    schedule 25.05.2016