I migrated a project from AGP 2.9 to AGP 3.0 and it builds fine, though it comes back with a single warning MSB3277: Found conflict between different versions of "System.Drawing.Common" that could not be resolved.
The more detailed description is:
There was a conflict between "System.Drawing.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" and "System.Drawing.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
"System.Drawing.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" was chosen because it was primary and "System.Drawing.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" was not.
I ran a build with a diagnostic log, but I cannot find out what part is still using version 4. I believe the pieces using version 6 are relatively clear:
Any suggestions on how I can get rid of this warning?
Solved! Go to Solution.
Hi Tom,
The Migration tool (VSIX) only migrates your solution (or project file) from .Net Framework to .Net 6.0, it does not make changes to you any Nugets or dependent assemblies that are required by the move to .Net 6.0. System.Drawing.Common is one of those dependent assemblies that requires a change when moving to .Net 6.0. Under .Net Framework you used to be able to include a reference to System.Drawing.Common, but with .Net 6.0 you have to use the System.Drawing.Common Nuget (6.0.0) instead. There is a sample called MultipatchBuilderEx that was migrated from 2.9 and it does show the final project composition that you are looking for:
I think you might have to remove the old 4.0 reference to System.Drawing.Common and add the NuGet reference and you can't have both.
Hi Tom,
The Migration tool (VSIX) only migrates your solution (or project file) from .Net Framework to .Net 6.0, it does not make changes to you any Nugets or dependent assemblies that are required by the move to .Net 6.0. System.Drawing.Common is one of those dependent assemblies that requires a change when moving to .Net 6.0. Under .Net Framework you used to be able to include a reference to System.Drawing.Common, but with .Net 6.0 you have to use the System.Drawing.Common Nuget (6.0.0) instead. There is a sample called MultipatchBuilderEx that was migrated from 2.9 and it does show the final project composition that you are looking for:
I think you might have to remove the old 4.0 reference to System.Drawing.Common and add the NuGet reference and you can't have both.
Thanks Wolf, that was exactly what was needed. 🙂