Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 46998|Ответ: 2

[Источник] .NET не получает полный эталонный сборщик

[Скопировать ссылку]
Опубликовано 22.08.2020 10:41:02 | | | |
Используй. .NET для получения загруженной ассембли неполный, хотя мы ссылаемся на другие библиотеки, но без вызова его невозможно получить в загруженной ассембле, эта статья разделяет для получения полной ассембли в WinForm и ASP.NET.

Знакомство

Используй. .NET для получения загруженной ассембли неполный, хотя мы ссылаемся на другие библиотеки, но без вызова его невозможно получить в загруженной ассембле, эта статья разделяет для получения полной ассембли в WinForm и ASP.NET.

ASP.NET (без измерения)

.NET Framework откладывает загрузку сборок в текущий домен AppDomain до тех пор, пока они не понадобятся. Например, если вы вызываете только стороннюю библиотеку из SomeMethod(), сторонняя DLL обычно не загружается до первого запуска SomeMethod().

AppDomain.GetAssemblies() показывает все сборки, загруженные в текущий AppDomain. BuildManager.GetReferencedAssemblies() возвращает список всех сборок, на которые ссылаются с Web.config и других локаций, и загружает эти сборки в текущий AppDomain.

Код:



WinForm

Начните с использования кода ниже, чтобы получить загруженную ассемблер.



Количество полученных сборок составляет 12, как показано на следующем рисунке:



Когда мы не вызываем методы других библиотек, основное приложение не загружает свои dll, вероятно, чтобы сэкономить на производительности, поэтому при первом вызове методов других библиотек процесс может быть немного медленнее.

Используйте изменённый код, следующим образом:





Количество полученных сборок составляет 117, и принцип заключается в том, чтобы получить dll в каталоге приложений и загрузить его.

В этом случае при вызове AppDomain.CurrentDomain.GetAssemblies(). Метод ToList() позволяет получить полную сборку, которая может превышать 117.

Возьмите текущую сборку





Предыдущий:.NET использует кэш Redis для уведомлений о истечении срока действия
Следующий:Инструмент профессионального управления для облачного ИТ-бизнеса ServiceNow
 Хозяин| Опубликовано 25.12.2020 15:50:46 |
Опубликовано 22.09.2021 20:39:35 |
Научись учиться...
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com