What is warning MSB3247 (Found conflicts between different versions of the same dependent assembly)?
The source of the warning is this: The project has references to two assemblies that, in turn, depend on two different versions of the same assembly identity.
Beta 1
The assembly name conflict is dumped into the itemlist ""SuggestedBindingRedirects"". As a stopgap until Beta 2, a simple way to dump this information would be to create a ""PostBuild"" step like:
echo [@(SuggestedBindingRedirects)]
and then rebuild your project.
You can resolve the warning by creating an App.config (or, in a web application context, a Web.config) file that declares a "bindingRedirect" like so.
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.VSDesigner" publicKeyToken="b03f5f7f11d50a3a" />
<bindingRedirect oldVersion="7.1.3300.0" newVersion="7.2.3300.0" />
</dependentAssembly>
</assemblyBinding>
Note: The <assemblyBinding> tag must be contained in the parent <runtime> tag.
This is only correct if the new version of the assembly is designed to completely replace the old.
Beta 2 and Beyond
In Beta 2, there will be VS UI that will prompt you with a list of the conflicting dependent assemblies and propose solutions for them.
NOTE: Visual Studio 2005 doesn't have any UI to resolve the error, but
echo
@(SuggestedBindingRedirects) gives the required names.