I have a solution with 10 projects. Many of the projects depend on a third party DLL called foo.dll
.
The issue is that when I upgrade foo, somehow in Visual Studio when I go to the Object Browser it shows me two versions of foo.dll
.
How can I find out which project is referencing the old version of foo.dll so I can upgrade it so there is only one dependency across all projects?
This is the kind of thing you only want to do once.
My recommendation to you is to get Notepad. Yes, Notepad.
Open the .csproj file for each of your projects.
There will be a section in the XML outlining the DLL that is being referenced including the path, etc. Even if they are coming out of the GAC, the version, etc. which is used by the .NET linker will be included in the file. The whole line to the reference must match exactly.
Compare these against one project which you know to be correct.
Dealing with references in .NET is one of the worst parts of it. Welcome to DLL hell v2.0 :(