Подтвердить что ты не робот

Исключительное исключение ссылки на сборку

Я пытался решить проблему с привязкой к сборке в течение последних 12 часов, не так много. На прошлой неделе я обновил все проекты в решении от EF 4.1.0.0 до EF 4.3.1.0. Сегодня утром я добавил несколько тестов к существующему тестовому проекту, очистил и перекомпилировал решение. Все проекты компилируются без предупреждений или ошибок. При вызове моей сущности в любом месте проекта я получаю следующее исключение:

Метод инициализации NutricityPPCTests.Common.DizzleProductExtensionsTests.TestSetup бросил исключение. System.IO.FileLoadException: System.IO.FileLoadException: Не удалось загрузить файл или сборку "EntityFramework, Version = 4.1.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089 'или одна из ее зависимостей. Установленное определение манифеста сборки не сопоставить ссылку на сборку. (Исключение из HRESULT: 0x80131040).

Я запустил средство просмотра журнала привязки сборки слияния и нашел запись журнала, соответствующую исключению. Я подтвердил, что мой тестовый проект, проект MOMData, ссылаются на правильную сборку EF4.3.1.0. Я подтвердил, что в файлах проектов нет ссылок на EF 4.1.0.0. Я удалил содержимое каталогов obj и bin в обоих проектах. Проект был очищен и перестроен так много раз, что мой жесткий диск, вероятно, выйдет завтра.

*** Assembly Binder Log Entry  (3/22/2012 @ 5:55:11 PM) ***

The operation failed.
Bind result: hr = 0x80131040. No description available.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = NUTRICITY0\awolske
LOG: DisplayName = EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 (Fully-specified)
LOG: Appbase = file:///C:/Users/awolske/Documents/NutricityWorkspace/Nutricity/NutricityPPCTests/bin/Release
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = QTAgent32.exe
Calling assembly : MomData, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\awolske\Documents\NutricityWorkspace\Nutricity\NutricityPPCTests\bin\Release\NutricityPPCTests.DLL.config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Users/awolske/Documents/NutricityWorkspace/Nutricity/NutricityPPCTests/bin/Release/EntityFramework.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\Users\awolske\Documents\NutricityWorkspace\Nutricity\NutricityPPCTests\bin\Release\EntityFramework.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: The assembly reference did not match the assembly definition found.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

Где еще я должен искать старую ссылку?!? Любая помощь будет приветствоваться и очень ценится! Заранее благодарим за ваше время!

4b9b3361

Ответ 1

Добавьте в файл web.config следующее:

<runtime>
<assemblyBinding>
        <dependentAssembly>
          <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="4.3.1.0" />
        </dependentAssembly>
   </assemblyBinding>
</runtime>

Ответ 2

У меня была такая же ошибка. Большинство проектов в моем решении, где ссылаются на DLL Entity Framework 4.3.0.0, но когда я проверил ссылки для всех проектов в моем решении, я нашел несколько проектов, ссылающихся на DLL Entity Framework 4.1.0.0. Исправлена ​​проблема с удалением и заменой их новыми ссылками на DLL Entity Framework 4.3.0.0.