Конфликт Ассамблеи с Newtonsoft.Json

Мне нужно загрузить 2 версии сборки Newtonsoft.Json vesion 4.0.8.0 и 4.5.0.0 теперь в моем файле конфигурации:

<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.0.8.0" />
</dependentAssembly>

но мне нужно быть старым 4.0.8.0 и новым 4.5.0.0

  <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.5.0.0" />
      </dependentAssembly>

Я устанавливаю из Package Console последнюю версию, но это дает мне ошибку:

Ошибка 80 Не удалось загрузить файл или сборку "Newtonsoft.Json, Version = 4.5.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed" или одну из его зависимостей. Расположенное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Ответы

Ответ 1

У меня возникла эта проблема сегодня, я нашел решение в этой ссылке.

В основном обновить пакет Newtonsoft.Json. И зарегистрируйте эту сборку в web.config

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
    <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="5.0.8"/>
</dependentAssembly>

Ответ 2

У меня была такая же проблема после установки SignalR в мой проект. Сначала я обновился до последней версии Newtonsoft.Json, а затем добавлю зависимую сборку в свой web.config. Но мне пришлось добавить значение 6.0.0.0 в новую версию, даже если в моих пакетах была объявлена ​​версия 6.0.8.   

<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
  <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>