I have an application which uses a .dll which is full of gui application code in location x. It use to have 1 button in, but now has 2.
When i start my application what i expect to see is a gui with 2 buttons, however i see a gui with 1 button. i have rebuild my gui .dll but it is magically using an older version from somewhere. If i try and debug my code it says that the version of code i am using is different from the one in the .dll
My question is, "How can i find out where it is looking for the .dll and why would it be using an old version as i only have 1 place where i compile the .dll to?"
Also wanted to state that i have it referenced and it is the correct version which has the 2 buttons in.. but when i run it is using another version???
If you are using Visual Studio open the Modules window, Debug->Windows->Modules (Ctrl-D+M) and this will list all loaded assemblies.
You can also at run time use AppDomain.CurrentDomain.GetAssemblies()
and walk the list looking at each Assembly.CodeBase
.
If all else fails you can also use Process Monitor from Sysinternals http://technet.microsoft.com/en-us/sysinternals/bb896645 and watch which dlls are loaded by your process, but you'll be filtering out tons of output.