在运行时加载 C++ DLL

Load a C++ DLL at runtime

我正在使用 DllImport 加载 C++ dll。用户通过将 string 传递给 MyClass 构造函数

来使用我的代码

我想加载 MyClass 构造函数中提供的指定 DLL 路径,然后我希望方法能够访问加载的 DLL。

我该如何编码才能让用户只需输入 new MyClass().DoSomething()

您需要 Win32 中的 LoadLibraryGetProcAddress 方法,然后是 Marshal.GetDelegateForFunctionPointer 方法。有关详细说明,请参阅此 msdn 博客:

https://blogs.msdn.microsoft.com/jonathanswift/2006/10/03/dynamically-calling-an-unmanaged-dll-from-net-c/