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.
Microsoft Communities