Почему 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 в пуле приложений