卸载用Assembly.LoadFrom()加载的Assembly

卸载用Assembly.LoadFrom()加载的Assembly,第1张

卸载用Assembly.LoadFrom()加载的Assembly

不幸的是,一旦装配被加载,您将无法卸载装配。但是您可以卸载AppDomain。您可以做的是创建一个新的AppDomain(AppDomain.CreateDomain(…)),将程序集加载到此appdomain中以进行处理,然后在需要时卸载AppDomain。卸载AppDomain时,将卸载所有已加载的程序集。(请参阅参考资料)

调用垃圾收集器,您可以使用

GC.Collect(); // collects all unused memoryGC.WaitForPendingFinalizers(); // wait until GC has finished its workGC.Collect();

GC在后台线程中调用终结器,这就是为什么您必须等待并再次调用Collect()以确保删除了所有内容的原因。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5150820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存