1

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

我使用 .Net Framework 中的应用程序域来启动多个 WPF 测试,而它们之间没有交互。

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

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

我调查了一下AssemblyLoadContext ,我找不到任何方法来实现这种隔离。

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

4

1 回答 1

-1

从 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://docs.microsoft.com/en-us/dotnet/api/system.runtime.loader.assemblyloadcontext?view=netcore-3.0

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

于 2021-05-07T20:50:36.180 回答