[DllImport("LibA.dll")]. I'm not talking about the dlls being in different directories. All binaries are in the same folder, but I have to selectively load the dll depending on how the managed part is started. I know I could use LoadLibrary and GetProcAdress to import the native dll dynamically, but I'd rather not do all the manual work if I don't have to.