我不确定这是否可行但我想要类似于将Host的域管理器加载到我的新AppDomain。新创建的AppDomain没有域管理器。由于这一点,我后来的许多电话都失败了。
例如,如果我调用“Assembly.GetEntryAssembly”,它会在新的AppDomain中返回null。要解决这个问题,我必须在我创建的AppDomain中调用“AppDomain.ExecuteAssembly(”entryassembly“)”。我实际上并不需要在我的应用程序中执行此操作。
同样还有其他调用,例如“ScriptEngine.GetSearchPaths”。这再次不会返回我的新AppDomain中的预期搜索路径。再次,如果我执行“AppDomain.ExecuteAssembly(”entryassembly“)”,则返回预期的搜索路径。
因此,只有当我在新的AppDomain中执行条目程序集时,才会在我的新AppDomain中创建域管理器。在内部为我提供了类似于主机的域管理器的域管理器(因为我执行相同的条目程序集)。有没有办法加载Host的域管理器而不在我的新AppDomain中执行任何程序集。