替换.Net Core中的AppDomain.CreateDomain



我正在尝试迁移到.Net 5,那里不再支持应用程序域。

我使用.Net Framework中的应用程序域来启动多个WPF测试,而不需要它们相互交互。

var appDomain = AppDomain.CreateDomain("Friendly name");

并使用appDomain来执行应用程序。在.Net 5中,这已不再可能。

我研究了AssemblyLoadContext,我找不到任何方法来实现这种隔离。

我使用MS测试作为测试框架,我找不到将每个测试隔离到单个过程的方法。

从AppDomain迁移到AssemblyLoadContext也许您仍在应用程序中使用AppDomain。现在,下面的代码显示了如何用AssemblyLoadContext 的适当等效方法替换AppDomain方法

请参阅以下实施参考资料和更多详细信息:

// Create new "context" for loading assemblies:  
var appDomain = AppDomain.CreateDomain("MyAppDomain");
var assemblyLoadContext = new MyAssemblyLoadContext(name: "MyAssemblyLoadContext", isCollectible: true);

https://learn.microsoft.com/en-us/dotnet/api/system.runtime.loader.assemblyloadcontext?view=netcore-3.0

https://codetherapist.com/blog/netcore3-plugin-system/

相关内容

  • 没有找到相关文章

最新更新