如何在创建的AppDomain中设置Host的Domain Manager
我不确定这是否可能,但我想要类似于将主机的域管理器加载到我的新 AppDomain 的东西。新创建的 AppDomain 没有域管理器。由于这个原因,我随后的许多通话都失败了。
例如,如果我调用“Assembly.GetEntryAssembly”,它将在新的 AppDomain 中返回 null。要解决此问题,我必须在创建的 AppDomain 中调用“AppDomain.ExecuteAssembly("entryassemble")”。实际上我不需要在我的应用程序中执行此操作。
同样,还有其他调用,例如“ScriptEngine.GetSearchPaths”。这再次不会返回我的新 AppDomain 中的预期搜索路径。再次,如果我执行“AppDomain.ExecuteAssembly(“entryassemble”)”,则返回预期的搜索路径。
简而言之,只有当我在新的 AppDomain 中执行入口程序集时,才会在我的新 AppDomain 中创建域管理器;它在内部为我提供了一个类似于主机域管理器的域管理器(当我执行相同的条目程序集时)。有没有一种方法可以加载主机的域管理器,而无需在我的新 AppDomain 中执行任何程序集。
I am not sure if this is possible but I would want something similar to loading the Host's domain manager to my new AppDomain. There is no Domain Manager for a newly created AppDomain. Owing to this many of my subsequent call fails.
For example if I make a call to "Assembly.GetEntryAssembly" it returns null in the new AppDomain. To workaround this I will have to call "AppDomain.ExecuteAssembly("entryassembly")" in my created AppDomain. I actually do not have a need to do this in my application.
Similarly there are other calls such as "ScriptEngine.GetSearchPaths". This again does not return the expected search paths in my new AppDomain. Again if I perform "AppDomain.ExecuteAssembly("entryassembly")" then the expected search path is returned.
So in short a domain manager is created in my new AppDomain only when i execute the entry assembly in my new AppDomain; which internally provides me a domain manager similar to the Host's domain Manager (as i execute the same entry assembly). Is there a way to load the Host's domain manager without executing any assembly in my new AppDomain.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论