Použiť. .NET na získanie načítaného assembleru je neúplný, hoci odkazujeme na iné knižnice, ale bez volania ho nie je možné získať v načítanom assemble, tento článok zdieľa, ako získať kompletný assembly assembly vo WinForm a ASP.NET.
Zavedenie
Použiť. .NET na získanie načítaného assembleru je neúplný, hoci odkazujeme na iné knižnice, ale bez volania ho nie je možné získať v načítanom assemble, tento článok zdieľa, ako získať kompletný assembly assembly vo WinForm a ASP.NET.
ASP.NET (nemerané)
.NET Framework odkladá načítanie assemblerov do aktuálneho AppDomain, kým nie sú potrebné. Napríklad, ak voláte len knižnicu tretej strany z SomeMethod(), DLL tretej strany sa zvyčajne načíta až po prvom spustení SomeMethod().
AppDomain.GetAssemblies() vám zobrazí všetky assemblies, ktoré boli načítané do aktuálneho AppDomain. BuildManager.GetReferencedAssemblies() vráti zoznam všetkých assemblies referencovaných z Web.config a iných miest a načíta tieto assemblies do aktuálnej AppDomain.
Kód:
WinForm
Začnite použitím nižšie uvedeného kódu na získanie naloženej zostavy.
Počet získaných zhromaždení je 12, ako je znázornené na nasledujúcom obrázku:
Keď nevoláme metódy iných knižníc, hlavná aplikácia nenačítava svoje dll, pravdepodobne kvôli úspore výkonu, takže prvýkrát, keď voláme metódy iných knižníc, môže to byť o niečo pomalšie.
Použite upravený kód, nasledovne:
Počet získaných assemblerov je 117 a princíp je dostať dll do adresára aplikácií a načítať ho.
V tomto prípade, pri volaní AppDomain.CurrentDomain.GetAssemblies(). Metódou ToList() môžete získať kompletnú zostavu, ktorá môže byť viac ako 117.
Získajte aktuálnu zostavu
|