使用GetProcAddress从C#调用C#DLL
我的程序需要从运行时指定的C#dll文件中调用方法。 为了做到这一点,我想到了如下使用GetProcAddess:使用GetProcAddress从C#调用C#DLL,c#,dll,C#,Dll,我的程序需要从运行时指定的C#dll文件中调用方法。 为了做到这一点,我想到了如下使用GetProcAddess: string sytDll = @"C:\Programming\dllexample.dll"; IntPtr DllLoaded = LoadLibrary(sytDll); if (DllLoaded != IntPtr.Zero) { IntPtr pSytCheck = GetProcAddress(DllLoaded, "f1"); } Dlloaded返回
string sytDll = @"C:\Programming\dllexample.dll";
IntPtr DllLoaded = LoadLibrary(sytDll);
if (DllLoaded != IntPtr.Zero)
{
IntPtr pSytCheck = GetProcAddress(DllLoaded, "f1");
}
Dlloaded返回一个值,但是GetProcAddress始终返回0
我想知道C#DLL的格式是否正确。这就是它的样子:
namespace dllexample
{
public class Class1
{
public static int f1(int a)
{
return a;
}
}
}
我觉得我没有正确声明dll,或者我没有使用正确的函数名
谁能告诉我我做错了什么
谢谢 <代码> GeCopeToels//Cord>将用于C或C++导出函数。对于.Net,您需要加载程序集并使用反射(我认为),这是行不通的。在C#中,此类问题通过以下方式解决: