Почему AutoMapper v3 не работает, потому что он ищет v2.2.1.0?
Я только что установил AutoMapper через nuGet в новом проекте, но когда я запускаю код, я получаю следующую ошибку:
Не удалось загрузить файл или сборку "AutoMapper, Version = 2.2.1.0, Культура = нейтральная, PublicKeyToken = be96cd2c38ef1005 'или одна из ее зависимостей. Установленное определение манифеста сборки не сопоставить ссылку на сборку. (Исключение из HRESULT: 0x80131040)
Почему он ищет версию = 2.2.1.0, и что я могу сделать с этим? Вернитесь к этой версии?
Ответы
Ответ 1
Вероятно, вы просто хотите добавить перенаправление привязки для 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>
Ответ 2
Попробуйте удалить и снова установить AutoMapper.
Если у вас есть несколько проектов в вашем решении, скорее всего, у вас есть версия 2.2.1.0, уже установленная в одном из ваших проектов. Но последняя версия AutoMapper - 3.0.0, поэтому у вас возникли проблемы.
Ответ 3
Проблема:
Не удалось загрузить файл или сборку "AutoMapper, Version = 3.2.1.0, Culture = neutral, PublicKeyToken = be96cd2c38ef1005" или одну из его зависимостей. Расположенное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Решение:
Добавить assemblyBinding для файлов app.config yur:
<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>
Очистить, перестроить решение и улыбнуться!: -)
Ответ 4
У меня была такая же ошибка и я смог исправить установку Enable 32-Bit приложений в True в пуле приложений