Options:
- Build against a single DLL, and then just switch DLL contents (i.e. build both DLLs with the same name, and just change which version you use)
- Create a single interface with two different implementations, one of which talks to each library
Personally I'd probably go with the latter. No, there's no such context as a "dynamic extern alias".