AppDomain.Load(从内存中组装)

Posted

技术标签:

【中文标题】AppDomain.Load(从内存中组装)【英文标题】:AppDomain.Load (Assembly from memory) 【发布时间】:2016-01-29 18:55:59 【问题描述】:

我正在尝试将程序集从字节数组加载到内存中的 AppDomain 中。 基本上,我有一个传输代码程序集的系统,我需要将每个程序集隔离在自己的 AppDomain 中,从中我可以初始化一个实例。

但是,我正在努力将程序集本身加载到 AppDomain;唯一的方法是拥有一个文件,但我想知道是否有办法在没有它的情况下这样做。

Image

对我来说,只使用原始汇编字节就很方便了。

提前致谢^:)

【问题讨论】:

您找到解决方案了吗?我有同样的问题...从流加载程序集到新的应用程序域:( 【参考方案1】:

根据MSDN Documentation for AppDomain.Load(),其中一个重载需要一个字节数组来加载程序集,所以我在这里看不到您的问题。

这是一个将程序集作为字节数组加载到 My.Resources 的示例:

Dim TargetAssembly As Reflection.Assembly = System.AppDomain.CurrentDomain.Load(My.Resources.MyAssembly)

【讨论】:

在尝试执行此操作时遇到 FileNotFound 异常(忘记提及,抱歉)。 @Prionum : 你也在使用My.Resources @Prionum :它对我来说完全正常。请编辑您的问题并包含错误消息、一些代码和/或屏幕截图。 Viuncent,我忘了补充一点,我首先创建一个新域,然后加载程序集,而不是 CurrentDomain 属性。使用 CurrentDomain.Load(),它可以工作。但是,不是在我创建新域时。

以上是关于AppDomain.Load(从内存中组装)的主要内容,如果未能解决你的问题,请参考以下文章

Appdomain.Load(AssemblyName) 引发文件未找到异常

AppDomain 卷影副本 - 加载/卸载动态加载的 Dll

小程序容器助力组装移动银行超级APP

Abyss:基于布隆过滤器的基因组组装软件

第11课:生活中的组合模式——自己组装电脑

计算机组装