Конфликт Ассамблеи с 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>