在运行时设置引用的DLL路径

时间:2011-08-09 17:57:46

标签: c# dll dynamic load runtime

是否可以在运行时更改DLL的路径?我需要链接一个DLL,但我无法将DLL提供给用户,但我知道用户在其硬盘上有该DLL。所以我向用户显示了一个通用的表单,它可以进入路径,然后我必须采取该路径(作为字符串)并动态加载到我的程序。加载后我将使用该DLL中的东西。

这是可能的,即使,怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用Assembly.LoadFile(pathOfAssembly)方法从路径动态加载程序集或dll。加载后,您可以创建它包含的类的实例并调用方法。

答案 1 :(得分:0)

添加克里斯的答案。

为避免在已加载的程序集上使用反射,请在程序集中针对公共接口编写类,然后可以像这样实例化对象:

Assembly assembly = Assembly.LoadFile(pathOfAssembly);
InterfaceName instance = (InterfaceName)assembly.CreateInstance("fully qualified type name", true);