我遇到的情况是 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);
}
最佳答案
加载上下文http://blogs.msdn.com/b/suzcook/archive/2003/05/29/57143.aspx 。加载 byte[] 不会导致其他加载上下文中的程序集能够看到它。这是一项安全功能。
关于c# - 为什么当 Assembly 在 CurrentDomain 中时会调用 AssemblyResolve?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13305301/