是否可以在运行时更改DLL的路径?我需要链接一个DLL,但我无法将DLL提供给用户,但我知道用户在其硬盘上有该DLL。所以我向用户显示了一个通用的表单,它可以进入路径,然后我必须采取该路径(作为字符串)并动态加载到我的程序。加载后我将使用该DLL中的东西。
这是可能的,即使,怎么做?
答案 0 :(得分:0)
您可以使用Assembly.LoadFile(pathOfAssembly)
方法从路径动态加载程序集或dll。加载后,您可以创建它包含的类的实例并调用方法。
答案 1 :(得分:0)
添加克里斯的答案。
为避免在已加载的程序集上使用反射,请在程序集中针对公共接口编写类,然后可以像这样实例化对象:
Assembly assembly = Assembly.LoadFile(pathOfAssembly);
InterfaceName instance = (InterfaceName)assembly.CreateInstance("fully qualified type name", true);