C# 调用运行时指定的本机代码

C# 调用运行时指定的本机代码,c#,.net,pinvoke,native,C#,.net,Pinvoke,Native,我正在开发一个应用程序,允许用户从托管和本机.dll调用外部代码。用户将能够指定在运行时调用哪个库/方法/函数(它将存储在配置文件中) 如果我知道我想在编译时调用什么dll/函数,我知道如何使用本机库的pinvoke实现这一点,但是我找不到任何关于如何在运行时实现这一点的信息 基本上我想做的是调用一个方法: int result = ExecuteNativeFunction("someLibrary.dll", "foo"); 让它做一些相当于: [DllImport("someLibrar

我正在开发一个应用程序,允许用户从托管和本机.dll调用外部代码。用户将能够指定在运行时调用哪个库/方法/函数(它将存储在配置文件中)

如果我知道我想在编译时调用什么dll/函数,我知道如何使用本机库的pinvoke实现这一点,但是我找不到任何关于如何在运行时实现这一点的信息

基本上我想做的是调用一个方法:

int result = ExecuteNativeFunction("someLibrary.dll", "foo");
让它做一些相当于:

[DllImport("someLibrary.dll")]
static extern int foo();

...

int result = foo();

这就是你要找的吗?使用,可以动态编译定义新PInvoke方法的代码。有关详细信息,请参见中的类
DllRegServer

这就是我要查找的,尽管我希望可以避免反射。Emit。