如何运行时链接“插件”引用dll

时间:2016-05-02 15:18:05

标签: c# wpf dll reference runtime

我担心这是一个过于宽泛的问题。但我仍然不知道如何开始这项工作,所以即使是线索也会有所帮助,因为谷歌上没有任何结果......

每当我链接一个引用时,我都会在构建之前添加它。 我需要的是能够添加在目录中添加的任何引用。 这样我就可以在一个dir中添加一个dll,只在该dll存在的情况下才能在RUNTIME中添加它。

所以说

  • 开始时没有添加任何内容--->没有其他功能。
  • 我添加1.dll ---->应添加1.dll中的功能
  • 我添加2.dll ---->应添加2.dll中的功能

依旧......

我将这些dll插件称为插件,因为它们类似于插件。

提前感谢您的帮助。 帕特里克

1 个答案:

答案 0 :(得分:1)

您可以创建新的AppDomain并将appRelativeSearchPath设置为您的插件文件夹。然后,您可以使用新AppDomain的Load方法加载其他程序集。

如果要从应用程序主AppDomain中的新AppDomain访问类,可以使用AppDomain的CreateInstanceAndUnwrap方法对其进行实例化。但是,插件程序集中的类必须继承MarshalRefObject才能使其正常工作。

我希望这能指引你走向正确的方向。