Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 46998|Răspunde: 2

[Sursă] .NET nu primește asamblarea completă a asamblării de referință

[Copiază linkul]
Postat pe 22.08.2020 10:41:02 | | | |
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





Precedent:.NET folosește cache Redis pentru notificările de expirare
Următor:Instrument profesional de management pentru afacerile ServiceNow în cloud IT
 Proprietarul| Postat pe 25.12.2020 15:50:46 |
Postat pe 22.09.2021 20:39:35 |
Învață să înveți...
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com