如果我们调用加载到不同域中的AppDomain.CurrentDomain内部代码,我们会得到什么域引用?主域引用还是加载当前代码的域引用?
假设,我们在一个域内加载程序集,并且我们需要探测事件AssemblyResolve中的程序集:我们可以使用AppDomain.CurrentDomain来获取当前域引用,或者我们需要创建一种方法来将域引用传递给它?
发布于 2012-12-14 00:11:26
AppDomain.CurrentDomain返回在其中运行代码的域。是的,在AssemblyResolve事件处理程序中使用它总是安全和正确的。该事件特定于每个AppDomain,并将在AppDomain需要无法找到自身的程序集时触发。
事件处理程序的e参数的类型为ResolveEventArgs。它只告诉您程序集的名称,而不是需要它的AppDomain。假设你已经知道了。如果您忘记了,请使用CurrentDomain。
最好使用AppDomainSetup,这样你就不需要这个事件处理程序了。
https://stackoverflow.com/questions/13861680
复制相似问题