gpt4 book ai didi

.net - 捕获 dll 加载

转载 作者:行者123 更新时间:2023-12-04 06:39:03 25 4
gpt4 key购买 nike

我正在尝试构建一个.NET 客户端软件包,可以按需下载其组件。

假设我有一个程序被拆分为一个主可执行文件和 20 个其他 dll 文件。主程序引用了其中的 3 个,它们引用了其他一些,无论如何......它们有某种树状依赖结构。

我要实现的目标是仅分发主要可执行文件并按需从服务器位置获取其他所有内容。

像这样的东西:
主程序和所有这些 dll 项目都在一个解决方案中,并且像任何其他解决方案一样构建在一起。
分发时,仅分发exe,其他dll(包括使用的一些第三方库)放在可供下载的服务器位置。

exe运行,显示一些UI,当用户单击菜单项时,将显示来自dll文件的另一个UI窗口,因此操作系统会查找dll(不存在),我进行干预,从下载所需的dll服务器,把它放在exe旁边,让操作系统加载它,就好像它从一开始就在那里一样。

这看起来可以通过使用通用接口(interface)类和一些反射魔法来实现,但我希望有更多的东西,包括在一个解决方案中完全构建 dll 的东西,包括按需下载 3rd 方库的东西。

任何想法如何做到这一点?

最佳答案

您正在寻找 AppDomain.AssemblyResolve event ,它允许您从自定义位置加载程序集。
您不需要任何其他反射。

关于.net - 捕获 dll 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4500537/

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