我需要将SomeMixedAssembly.dll
加载到其他域(即它不是主域)并在完成任务后卸载该域。此外,SomeMixedAssembly.dll
会加载SomeMixedAssembly_2.dll
,这是其工作所必需的。两个组件都是混合的,不是我写的。这不是问题,但问题是SomeMixedAssembly.dll
也将SomeMixedAssembly_2.dll
加载到主域中。
是否可以避免将一些装配加载到主AppDomain
?
答案 0 :(得分:0)
是的,您可以使用例如AppDomain.AssemblyResolve事件处理程序干预程序集加载过程。但程序集通常会根据需要加载延迟,您不能只是不加载它们并期望您的程序能够正常工作。根据定义,在另一个AppDomain中加载的程序集不能自动作为原始程序。
但是,如果您想从不寻常的地方加载程序集,检查一些先决条件或搜索错误,这种干预可能很有用。