6. November 2013 08:02
In my last post I said I had issues when Nuget auto updated my nuget packages to the latest version. One of those is that I received a lot of warnings after the compilation - "warning MSB3247: Found conflicts between different versions of the same dependent assembly." But the compile result didn't tell me which dll caused issue and the correct version. Here is how I fix these:
Change the "MSBuild project build output verbosity" to "Detailed" or above. To do this, follow these steps:
- Bring up the Options dialog (Tools -> Options...).
- In the left-hand tree, select the Projects and Solutions node, and then select Build and Run. Note: if this node doesn't show up, make sure that the checkbox at the bottom of the dialog Show all settings is checked.
- In the tools/options page that appears, set the MSBuild project build output verbosity level to Detailed (assuming you're on VS2010; Normal will suffice in VS2008 or older).
Build the project and look in the output window. You should be able to find message like this
"There was a conflict between "System.Core, Version=184.108.40.206, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "System.Core, Version=220.127.116.11, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes"."
Now you know which dll caused the warning and which version is correct. Update your project reference and recompile your project. The warning message should be removed.
Note: Please do not forget to change your build output verbosity level back to minimal once you fix all your warning.