Один из моих проектов использует Elmah, который ссылается на SQLite. Elmah построен против SQLite для .Net версии 1.0.44.0
Ну, я экспериментировал с некоторыми 64-битными компонентами (у меня 32-битная версия), поэтому мне нужна была 64-битная версия SQLite для .Net. Я взял последнюю версию (1.0.51.0 в то время) и использовал их установщик для установки.
Для моего 32-битного проекта я обновил ссылку на System.Data.SQLite, чтобы указать на более новую версию.
Как только я осознал свою ошибку, я удалил ее, взял соответствующую оригинальную версию и вернул ссылку на 1.0.44.0
Теперь при сборке я получаю предупреждение о разных версиях одной и той же зависимой сборки. При нажатии на него спрашивается, хочу ли я отредактировать мой app.config, и он вставляет это:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="DB937BC2D44FF139" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.51.0" newVersion="1.0.51.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
ммм .. У меня больше нет установленной или существующей версии 1.0.51.0 в моей системе! где конфликт? почему визуальная студия думает, что она где-то существует? Я проверил в GAC, и нигде нет System.Data.SQLite.
Я бы хотел избавиться от этого надоедливого предупреждения.
У меня есть другой проект в том же решении, который также ссылается на SQLite, но я никогда не обновлял ссылку на более новую версию (и впоследствии никогда не менял ссылку обратно) .. он всегда ссылался на 1.0.44.0. Этот проект вообще не жалуется ...