I have an MVC3 app which depends on the DotNetOpenAuth lib, which references MVC1. When I installed the DotNetOpenAuth NuGet package it added an assembly binding redirect to my web.config. I uncommented it, but nothing changed.
After some searching I found that the reason for this is usually a typo, however I doubt this applies to me, I checked the config at least a dozen times for typos.
I stripped down my web.config to the following:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
During build I get the following warning:
Consider app.config remapping of assembly "System.Web.Mvc, Culture=neutral, PublicKeyToken=31bf3856ad364e35" from Version "1.0.0.0" [] to Version "3.0.0.0" [C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll] to solve conflict and get rid of warning.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3247: Found conflicts between different versions of the same dependent assembly.
I have tried a lot of different combinations (eg. adding the culture="neutral" attribute) in my web.config with no luck, and I've run out of ideas. Any suggestions?
Update My ~/Views/web.config is here