Help: Обнаружены конфликты между разными версиями одной и той же зависимой сборки с использованием SQLIte - PullRequest
0 голосов
/ 22 мая 2009

Один из моих проектов использует 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. Этот проект вообще не жалуется ...

Ответы [ 2 ]

0 голосов
/ 26 января 2010

Вот утилита, помогающая идентифицировать оскорбительные ссылки:

http://www.brianlow.com/index.php/2010/01/25/find-conflicting-assembly-references/

0 голосов
/ 22 мая 2009

Используйте ildasm.exe для просмотра манифестов в вашем приложении и сборках.

...