是否可以避免将一些程序集加载到“AppDomain”中?

时间:2016-10-26 18:43:30

标签: c# .net .net-assembly appdomain

我需要将SomeMixedAssembly.dll加载到其他域(即它不是主域)并在完成任务后卸载该域。此外,SomeMixedAssembly.dll会加载SomeMixedAssembly_2.dll,这是其工作所必需的。两个组件都是混合的,不是我写的。这不是问题,但问题是SomeMixedAssembly.dll也将SomeMixedAssembly_2.dll加载到主域中。

是否可以避免将一些装配加载到主AppDomain

1 个答案:

答案 0 :(得分:0)

是的,您可以使用例如AppDomain.AssemblyResolve事件处理程序干预程序集加载过程。但程序集通常会根据需要加载延迟,您不能只是不加载它们并期望您的程序能够正常工作。根据定义,在另一个AppDomain中加载的程序集不能自动作为原始程序。

但是,如果您想从不寻常的地方加载程序集,检查一些先决条件或搜索错误,这种干预可能很有用。