是否有 .NET 7 替代方案来使用 LoaderOptimization 创建 AppDomain?

问题描述 投票:0回答:0

请允许我回顾一下我使用 .NET Framework 4.8 的经历

AppDomains
。我目前正在开发一个图形密集型应用程序,需要大约 20 秒才能加载,大部分时间都花在了生成用户界面上。为了减轻这种延迟,我使用了
MultiDomain
/
MultiDomainHost
LoaderOptimization
AppDomainSetup
创建一个新的
AppDomain
并启动应用程序,允许它在三秒内加载。这种方法被证明对测试目的非常有用,因为它允许我对前端和后端进行大量修改,编译更改,并在最初的 20 秒等待期后仅三秒内观察结果。

现在将我的 .NET Framework 4.8 项目迁移到 .NET 7,我在尝试实现与

AssemblyLoadContext
s 相同的功能时遇到了
AppDomain
的一些挑战。虽然我已经能够将动态加载的 DLL 分成不同的
AssemblyLoadContext
,但我一直在努力实现适当的隔离以进行成功的测试。我遇到的主要问题之一是,即使当我分离动态加载的 DLL 时,绑定在使用静态 ViewModel 时仍保持共享,这导致了严重的并发症。尽管尝试了十几种不同的方法来实现隔离,但如果不开始一个新的过程,我就无法达到预期的结果,这会破坏用于测试目的的快速重新加载的目的。因此,我很好奇是否有人对如何实现真正的隔离有任何建议。

c# appdomain .net-7.0 appdomainsetup assemblyloadcontext
© www.soinside.com 2019 - 2024. All rights reserved.