1

如果我们调用AppDomain.CurrentDomain加载到不同域中的内部代码,我们会得到什么域引用?加载当前代码的主域引用或域引用?

假设,我们在域中加载程序集,并且我们需要在事件中探测程序集AssemblyResolve:我们可以使用AppDomain.CurrentDomain获取当前域引用,或者我们需要创建一种将域引用传递给它的方法?

4

1 回答 1

2

AppDomain.CurrentDomain 返回运行代码的域。是的,在 AssemblyResolve 事件处理程序中使用它始终是安全且正确的。该事件特定于每个 AppDomain,并且当 AppDomain 需要一个它无法找到自己的程序集时将被触发。

事件处理程序的e参数是 ResolveEventArgs 类型。它只告诉你程序集的名称,而不是需要它的 AppDomain。假设您已经知道。如果您忘记了,请使用 CurrentDomain。

支持使用 AppDomainSetup,因此您不需要此事件处理程序。

于 2012-12-13T16:11:25.950 回答