Working with VB6. Ugh. Or to be more precise,
battling with DLL Hell and binary compatibility with VB6.
All I wanted to do was change the structure of a few classes that were referenced by other classes (they're only used internally so we don't mind so much if we break binary compatibility). Changing the referenced DLL is fine, you just have to confirm that you are going to break binary compatibility (I know its bad!). But when you try to rebuild the DLL that references it, you get:
"The binary compatibility DLL or EXE contains a parameter type or return type whose definition can not be found"
....then you know you're in trouble :) What this message box really wants to say is:
"The binary compatibility DLL or EXE contains a parameter type or return type whose definition can not be found. Now, I could just warn you about this and let you overwrite the DLL anyway, but instead I'm going to stop here and refuse to let you ever build again until you either turn off binary compatibility, rebuild, and then turn it on again, or you reinstate the original version of the DLL I was referencing."
Anyway, a couple of google group posts and lots of turning off binary compatibility, compiling, and then turning it back on again seems to have done the trick ;)
It certainly makes you appreciate coding in .NET !!