我希望这是一个简单的问题,但我无法在我的搜索中找到解决方案。我有一个C#应用程序,需要从几个DLL加载数据。每个DLL都保证具有相同的函数foo()。但我希望这些DLL在运行时即插即用。我通常处理DLL(我知道名称)的方式是使用:
[DllImport("my_dll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int foo();
如何使用动态字符串替换文件名(例如“my_dll_3934.dll”)?此外,可能有多个必须加载的dll与相同的签名匹配(例如,“my_dll_3934.dll”和“my_dll_3935.dll”)。
将使用的DLL是由我生成的,但我希望最终用户只需删除DLL,因为更新/新dll可用而无需更新应用程序。我将进行适当的错误检查和异常处理。
提前谢谢。
答案 0 :(得分:0)