加载和卸载程序集 AppDomain.Load(bytes)

本文关键字:bytes Load AppDomain 卸载 程序集 加载 | 更新日期: 2023-09-27 18:36:01

我想做这样的事情:

byte[] bytes = item.CompiledRule;
AppDomain domain = AppDomain.CreateDomain("TestDomain");
Assembly a = domain.Load(bytes);
//Something do with Assembly 
AppDomain.Unload(domain);

我只有程序集字节。当我不使用AppDomain时,它工作得很好,但是当我这样做时,它会崩溃:

System.IO.FileNotFoundException: Could not load file or assembly

加载和卸载程序集 AppDomain.Load(bytes)

从字节数组加载程序集时,不会自动解析其依赖项。解决此问题的一种可能方法是订阅 AppDomain.AssemblyResolve 事件以加载依赖项。请注意,解析代码必须在该应用域中运行。