

Let’s explore in detail various issues surrounding the topic of using multiple Visual Studio versions in the program. I also see responses such as – “this should not be a problem” or “I do this all the time without any issues”. Very often, in various programming forums, I see questions about mixing multiple Visual Studio versions in the program. For example: a program using LibA.dll that is compiled against Visual Studio-2005 and LibB.dll that is compiled against Visual Studio-2008. I have seen countless number of hours being lost trying to get to the bottom of such failures, only to find out that the cause of the unexplained behavior was that the program used DLLs compiled against multiple Visual Studio versions. Everything seems fine, inputs are OK, memory allocations seem fine, code does not seem to contain any bugs yet it fails spectacularly.

They scratch their head trying to debug their code.

Either their program crashes randomly or it simply crashes for no apparent reason. Many times I have seen programmers complain that they see some strange behavior during testing something that they cannot explain.
