1, 2, 3) No.

Dll can be written in any language, and can be built with any compiler version. You can use libraries according to their public interface.