Когда CLR загружает сборку в процесс .NET? - PullRequest
4 голосов
/ 13 апреля 2010
  1. Загружается ли сборка .NET с помощью CLR при обращении к классу из сборки?

Или

  1. Когда загружается класс, который объявляет использование пространства имен из сборки?

Также, загрузив сборку, выгрузит ли она сборку, если она долго не используется?

Ответы [ 3 ]

5 голосов
/ 13 апреля 2010

Компилятор JIT инструктирует CLR загружать сборку, как только она переведет ее в машинный код, который выполняется по требованию, а точное время не является детерминированным. Что касается второго вопроса, как только сборка загружается в домен приложений, единственный способ выгрузить ее - это уничтожить этот домен приложений, другого способа выгрузки сборки нет.

1 голос
/ 13 апреля 2010

Загружается, когда вы пытаетесь использовать тип из сборки. Когда программа приступает к выполнению типа, о котором она не знает, среда выполнения выполняет и разрешает тип, который затем загружает сборку, содержащую этот тип.

0 голосов
/ 13 апреля 2010

Сборки загружаются различными способами (ссылки на проекты, прямые ссылки - оба из них во время компиляции (ОК, очевидно, нет)), , но не с помощью операторов . Они, насколько мне известно, никогда больше не выгружаются.

...