因此,当新创建的应用程序域无法加载所需的程序集时,创建AppDomain总是会被欺骗。但是使用ASP.NET Core项目似乎更难,因为代码被编译到内存中(而不是Gac' d)。这意味着基于文件位置解析和加载的典型方法不起作用。
如果我创建一个默认的ASP.NET Core网站并将下面的代码添加到控制器中,则它在AssemblyResolve上失败。
public MyController(){
var appDomain = AppDomain.CreateDomain("Test");
appDomain.AssemblyResolve += (sender, e) => {return null;}
}
我不确定是否有办法注入某种包含ASP已经创建的MetadataEmbeddedReferences列表的上下文/提供程序,然后我可以将该原始程序集加载到我的新appDomain中。
有什么想法吗?