Does anyone have any idea why we'd get MSB3247 assembly version errors (which recommend a binding redirect), when the binding redirect is already there?
We've done the usual check with MSBuild detailed errors and AsmSpy to check this.
The error in the diagnostics logs from MSBuild indicates:
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): warning MSB3247: Found conflicts between different versions of the same dependent assembly.
In Visual Studio, double-click this warning (or select it and press Enter) to fix the conflicts; otherwise, add the following binding redirects to the "runtime" node in the application configuration file:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.Mvc" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /></dependentAssembly></assemblyBinding> [Z:\PathTo\WebProject.csproj]
In our web.config for WebProject.csproj we have:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
On our development machines and current build servers, we don't receive the error. But on some brand new build machines we're setting up, we're seeing it. I'm thinking this could be related to .NET 4.5.1 or the new separated out MS Build tools package?
I can't for the life of me figure out why it's not happy - any tips on debugging this (bearing in mind we're on a machine with build tools only!)