2

我有一种情况,AppDomain.CurrentDomain.AssemblyResolve需要使用已加载到当前域的程序集调用Assembly.Load(myAssemblyMemStream.ToArray()).

这是为什么?

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

Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
    return AppDomain.CurrentDomain
                    .GetAssemblies()
                    .First(x => x.FullName == args.Name);
}
4

1 回答 1

3

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

于 2012-11-09T10:37:39.470 回答