gpt4 book ai didi

c# - 我怎样才能让我的插件从它们自己的路径加载程序集,而不是我的 .exe 加载它们

转载 作者:行者123 更新时间:2023-11-30 22:34:31 25 4
gpt4 key购买 nike

我有一个小型软件应用程序,其中有一些 .zip 文件形式的插件,我将其下载到名为“plugins”的文件夹中,这是我的示例光盘结构:

MyApplication.exe
|
|
|-Plugins (Folder)
|
|- Plugin1 (Folder)
| |
| |- MyPluginAssembly1.dll
|
|- Plugin2 (Folder)
|
|- MyPluginAssembly1.dll
|- Assembly1.dll
|- Assembly2.dll

我的问题是我有这个插件 (Plugin2),它有一些需要加载的程序集。问题是,如果程序集位于插件文件夹中,它将无法工作,加载插件的 .exe 无法加载程序集,除非它们已注册或驻留在 .exe 文件“旁边”。现在我将程序集(Assembly1、Assembly2)复制到包含 .exe 程序集的文件夹中。有什么办法可以将文件保存在它们所属的插件文件夹中?

最佳答案

您可以附加到 AssemblyResolve 事件并从您喜欢的任何路径加载程序集。

AppDomain.CurrentDomain.AssemblyResolve += (sndr, resolveEventArgs) =>
{
return Assembly.LoadFile("......");
};

关于c# - 我怎样才能让我的插件从它们自己的路径加载程序集,而不是我的 .exe 加载它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com