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) 引发文件未找到异常