I am making use of an external unmanaged dll using PInvoke and the DllImport attribute. eg.
[DllImport(\"mcs_apiD.dll\", CharSet = CharSet.Auto)] private s
you can't change the name of the dll but you can alter the path of the library being loaded (like by reading it from the registry or a configuration file) and load it manually with LoadLibrary kernel32's function: see my answer there.
LoadLibrary