Found conflicts between different versions of the same dependent assembly that could not be resolved

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Found conflicts between different versions of the same dependent assembly that could not be resolved

Message par ForumBot »

Found conflicts between different versions of the same dependent assembly that could not be resolved
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Found conflicts between different versions of the same dependent assembly that could not be resolved

Message par ForumBot »

eta: There's a [killer article on this stuff by SO's own @Nick Craver](https://nickcraver.com/blog/2020/02/11/binding-redirects/) that you should read

While the other responses say this, they don't make it explicit, so I will....

On VS2013.2, to actually trigger the emission of the cited information, you need to not read the message, which says:

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity **is set to detailed**.

This is incorrect (or at least it was for some versions of Visual Studio - it seems to be OK on an up to date VS2015 Update 3 or later). Instead turn it to **Diagnostic** (from *Tools->Options->Project and Solutions->Build and Run*, set *MSBuild project build output verbosity*), whereupon you'll see messages such as:

There was a conflict between "Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" and "Newtonsoft.Json, Version=6.0.5.17707, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed".

- "Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" was chosen because it was primary and "Newtonsoft.Json, Version=6.0.5.17707, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" was not.

Then

- `Ctrl-Alt-O` to go to Build output window

- search for "**was chosen**" to find the drilldown.

...And yes, for those looking at the detail of the [diagnostic] message, it was news to this ignoramus that [there's a convention in town whereby all `6.x` versions are, internally Assembly Version `6.0.0.0`, i.e. only the SemVer Major component goes into the Assembly Version](https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/) :)
Répondre

Revenir à « .NET & C# »