Folosește. .NET pentru a obține asamblarea încărcată este incompletă, deși ne referim la alte biblioteci, dar fără apelare, nu poate fi obținută în asamblarea încărcată, acest articol împărtășește pentru a obține asamblarea completă în WinForm și ASP.NET.
Introducere
Folosește. .NET pentru a obține asamblarea încărcată este incompletă, deși ne referim la alte biblioteci, dar fără apelare, nu poate fi obținută în asamblarea încărcată, acest articol împărtășește pentru a obține asamblarea completă în WinForm și ASP.NET.
ASP.NET (nemăsurat)
.NET Framework amână încărcarea ansamblurilor în AppDomain curent până când acestea devin necesare. De exemplu, dacă apelați doar o bibliotecă terță din SomeMethod(), DLL-ul terț nu va fi de obicei încărcat decât la prima rulare a SomeMethod().
AppDomain.GetAssemblies() îți oferă toate asamblările care au fost încărcate în AppDomain curent. BuildManager.GetReferencedAssemblies() returnează o listă cu toate asamblurile referențiate din Web.config și alte locații și încarcă acele ansambluri în AppDomain curent.
Cod:
WinForm
Începe prin a folosi codul de mai jos pentru a obține asamblarea încărcată.
Numărul asamblărilor de asamblare obținute este 12, așa cum este ilustrat în următoarea figură:
Când nu apelăm metodele altor biblioteci, aplicația principală nu își încarcă dll-urile, probabil pentru a economisi overhead de performanță, așa că prima dată când numim metodele altor biblioteci, poate fi puțin mai lent.
Folosește codul modificat, după cum urmează:
Numărul asamblărilor de asamblare obținute este 117, iar principiul este să introduci dll în directorul aplicației și să îl încarci.
În acest caz, când apelăm AppDomain.CurrentDomain.GetAssemblies(). Metoda ToList(), poți obține asamblarea completă, care poate fi mai mare de 117.
Obține ansamblul actual
|