如何在运行时 link "plugin" 引用 dll

How to runtime link "plugin" reference dlls

恐怕这个问题太宽泛了。但是我仍然不知道如何开始这项工作,所以即使是线索也会有所帮助,因为谷歌搜索没有任何结果...

每当我 link 引用时,我都会在构建它之前添加它。 我需要的是能够添加目录中添加的任何引用。 这将允许我将一个 dll 放在一个目录中,并且仅当该 dll 存在时才在运行时添加它。

这么说

等等...

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

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

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

如果您想从应用程序主 AppDomain 中的新 AppDomain 访问 类,您可以使用 CreateInstanceAndUnwrap method of AppDomain. But the classes in your plugin assemblies have to inherit MarshalRefObject 来实例化它们。

我希望这能为您指明正确的方向。