Today I had an issue with an old app that referenced an assembly (A) but also contained a reference to assembly (B) that also contained a reference to assembly (A)!.
The problem was that assembly (B) reference an earlier version of assembly (A) than the app itself, and I was able to recompile this against the new version.
Luckily a quick assembly binding addition to the app.config saved the day.
All you need to do is add the following lines to your app.config (or web.config for asp.net):
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="[name]" publicKeyToken="[token]" culture="neutral" /> <bindingRedirect oldVersion="18.104.22.168" newVersion="22.214.171.124" /> </dependentAssembly> </assemblyBinding> </runtime>