CLR何时在.NET进程中加载​​程序集?

时间:2010-04-13 16:35:00

标签: .net assemblies clr

  1. 当引用程序集中的类时,CLR是否加载了.NET程序集?
  2. 或者

    1. 何时加载了从程序集声明using命名空间的类?
    2. 如果长时间没有使用组件,它是否卸载了组件?

3 个答案:

答案 0 :(得分:5)

JIT编译器指示CLR在将程序集转换为按需完成的机器代码并且确切时间不确定时加载程序集。至于第二个问题,一旦将程序集加载到AppDomain中,卸载它的唯一方法是销毁这个AppDomain,没有其他方法可以卸载程序集。

答案 1 :(得分:1)

尝试使用程序集中的类型时会加载它。当程序执行一个它不知道它的类型时,运行时会解析该类型,然后加载包含该类型的程序集。

答案 2 :(得分:0)

程序集以各种方式加载(项目引用,直接引用 - 在编译期间都是这些(好的,显然不是)),但不是通过使用语句。据我所知,他们再也没有卸下。