当Assembly在CurrentDomain中时,为什么调用AssemblyResolve?

时间:2012-11-09 09:29:07

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

我的情况是,使用AppDomain.CurrentDomain.AssemblyResolve已经使用Assembly.Load(myAssemblyMemStream.ToArray())加载到当前域的程序集调用Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { return AppDomain.CurrentDomain .GetAssemblies() .First(x => x.FullName == args.Name); }

为什么?

我需要执行以下操作才能使其正常运行。这与.NET自动执行的操作有何不同?

{{1}}

1 个答案:

答案 0 :(得分:3)

加载上下文http://blogs.msdn.com/b/suzcook/archive/2003/05/29/57143.aspx。加载byte []不会导致其他加载上下文中的程序集能够看到它。这是一项安全功能。