.NET程序集何时被卸载?

5
我们知道,.NET程序集是在最后可能的时刻加载的——当您进入引用外部程序集中内容的方法时。
程序集何时会被卸载呢?当程序集中所有类或资源的引用都不存在时吗?还是从未卸载过?
想象一下,外部程序集中有一个私有静态变量。当需要时初始化该变量。当静态变量从内存中移除时,它可能不再包含任何值。
当不再有对未引用的静态类的引用时,它们会被从内存中移除吗?
.NET程序集何时会被卸载?

额外阅读

1个回答

7
只有在所加载的 AppDomain 卸载时才会卸载它,例如作为 Web 应用程序重启的一部分。
任何在程序集中的类都会在程序集被加载时保持加载状态,因此它们会一直存在,直到 AppDomain 也被卸载。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接