Help: Conflicts found between different versions of the same dependent assembly using SQLIte

One of my projects uses Elmah which references SQLite. Elmah is built for SQLite for .Net version 1.0.44.0

I was experimenting with some 64 bit stuff (my dev box was 32 bit), so I need a 64 bit version of SQLite for .Net. I grabbed the latest build (1.0.51.0 at the time) and used their installer to install it. For my 32 bit project, I have updated the System.Data.SQLite link to point to a newer version. As soon as I realized my mistake, I deleted it and grabbed the corresponding original version and pointed my link to 1.0.44.0

Now when I build I get a warning about different versions of the same dependent assembly. Clicking on it asks if I want it to edit my app.config and it inserts the following:

<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>

      

Umm. I don't have 1.0.51.0 installed or existing anywhere on my system anymore! where is the conflict? why does visual studio think it exists somewhere? I have checked in the GAC and there is no System.Data.SQLite anywhere.

I want to get rid of this annoying warning. I have another project in the same solution that also links to SQLite, but I have never updated the link to a newer version (and have never changed the link afterwards). He always referred to 1.0.44.0. This project doesn't complain at all ...

0


a source to share


2 answers


Use ildasm.exe to view manifests in your application and assemblies.



0


a source


Here is a utility to help you identify offensive links:



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

0


a source







All Articles