如何在创建的AppDomain中设置Host的Domain Manager

发布于 2024-09-14 08:24:56 字数 558 浏览 2 评论 0原文

我不确定这是否可能,但我想要类似于将主机的域管理器加载到我的新 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文