我认为您应该能够使用 win32 LoadLibrary/GetProcAddress/FreeLibrary 和委托(就像使用回调函数一样)采用“传统”方式。
http://msdn.microsoft.com/en-us/library/d186xcf0.aspx可能是一个起点......
这应该让你开始:
[DllImport("kernel32.dll", SetLastError=true)]
public static extern IntPtr LoadLibrary(string lpFileName);
[DllImport("kernel32.dll", SetLastError=true)]
static extern bool FreeLibrary(IntPtr hModule);
[DllImport("kernel32.dll", CharSet=CharSet.Ansi, ExactSpelling=true, SetLastError=true)]
public static extern IntPtr GetProcAddress(IntPtr hModule, string procName);
然后,您使用要调用的导出的正确签名声明一个委托,并使用 Marshal.GetDelegateForFunctionPointer()从您从GetProcAddress返回的函数指针创建它。