【发布时间】:2021-07-19 17:44:56
【问题描述】:
我正在将应用程序从 .NET Framework 迁移到 .NET 5.0。
在我之前的实现中,我从外部源动态读取程序集,然后将它们加载到不同的 AppDomain 中,然后通过 CrossAppDomainDelegate 运行 Action。
将为每个程序集运行的代码示例:
var setup = new AppDomainSetup
{
ApplicationBase = AppDomain.CurrentDomain.BaseDirectory,
};
var domain = AppDomain.CreateDomain($"MyDomain", null, setup);
var del = new CrossAppDomainDelegate(action); // The action I'm running
domain.DoCallBack(del);
在 .NET 5.0 中,我仍然可以创建域(即使我不能像以前那样使用设置)但我似乎无法找到通过委托运行操作的方法,因为 CrossAppDomainDelegate 是不再支持。
关于如何实现这一目标的任何想法?甚至可能吗? 如果没有,还有什么方法可以实现这个功能?
【问题讨论】:
-
@valerysntx:鉴于该线程是十年前的并且属于 .NET 框架,我怀疑这将解决 OP 的问题,该问题特定于新的 .NET 5。
-
@JeremyCaney,我认为这是相关的,因为可以使用
CreateInstanceAndUnwrap