Почему AutoMapper v3 не работает, потому что он ищет v2.2.1.0?
Я только что установил AutoMapper через nuGet в новый проект, но когда я запускаю код, я получаю следующую ошибку:
не удалось загрузить файл или сборку " AutoMapper, Version=2.2.1.0, Культура=нейтральная, PublicKeyToken=be96cd2c38ef1005 ' или один из ее зависимости. Определение манифеста сборки расположены не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Почему он ищет версию=2.2.1.0, и что я могу сделать об этом? Вернуться к этой версии?
4 ответов
вы, вероятно, просто хотите добавить перенаправление привязки для AutoMapper, поскольку одна из ваших ссылок ищет версию 2.2 специально
Это должно сделать это:
<dependentAssembly>
<assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005"
culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
Попробуйте удалить и переустановить AutoMapper еще раз.
Если у вас есть несколько проектов в вашем решении, скорее всего, у вас уже установлена версия 2.2.1.0 в одном из ваших проектов. Но последняя версия AutoMapper-3.0.0, поэтому у вас возникли проблемы.
проблема:
не удалось загрузить файл или сборку "AutoMapper, Version=3.2.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005" или одну из ее зависимостей. Определение манифеста сборки расположены не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
устранение:
добавить assemblyBinding в приложение yur.файлы config:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.3.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
чистый, перестроить решение и улыбка! :-)
У меня была такая же ошибка и я смог исправить, установив включить 32-битные приложения в True в пуле приложений