Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 46998|Svar: 2

[Källa] .NET får inte hela referensassemblyn

[Kopiera länk]
Publicerad på 2020-08-22 10:41:02 | | | |
Använda. .NET för att hämta den laddade assemblersamlingen är ofullständig, även om vi hänvisar till andra bibliotek, men utan anrop kan den inte erhållas i den laddade assembleren, denna artikel delar för att få den kompletta assemblersamlingen i WinForm och ASP.NET.

Införandet

Använda. .NET för att hämta den laddade assemblersamlingen är ofullständig, även om vi hänvisar till andra bibliotek, men utan anrop kan den inte erhållas i den laddade assembleren, denna artikel delar för att få den kompletta assemblersamlingen i WinForm och ASP.NET.

ASP.NET (omätt)

.NET Framework skjuter upp laddning av assemblies i den aktuella AppDomain tills de behövs. Till exempel, om du bara anropar ett tredjepartsbibliotek från SomeMethod(), kommer tredjeparts-DLL:n vanligtvis inte att laddas förrän vid första körningen av SomeMethod().

AppDomain.GetAssemblies() ger dig alla assembler som har laddats in i den aktuella AppDomain. BuildManager.GetReferencedAssemblies() returnerar en lista över alla assemblies som refererats från Web.config och andra platser, och laddar dessa assemblies till den aktuella AppDomain.

Kod:



WinForm

Börja med att använda koden nedan för att få den laddade assembleren.



Antalet församlingsförsamlingar som erhålls är 12, som visas i följande figur:



När vi inte anropar metoderna från andra bibliotek laddar huvudapplikationen inte sina DLL:er, troligen för att spara prestandaöverhead, så första gången vi anropar metoder från andra bibliotek kan det gå lite långsammare.

Använd den modifierade koden, enligt följande:





Antalet assembly-assemblies som erhålls är 117, och principen är att hämta dll:n under applikationskatalogen och ladda den.

I detta fall, när AppDomain.CurrentDomain.GetAssemblies() anropas. ToList()-metoden kan du få hela sammansättningen, som kan vara mer än 117.

Skaffa den nuvarande sammansättningen





Föregående:.NET använder Redis-cache för utgångsnotiser
Nästa:Professionellt hanteringsverktyg för ServiceNows molnbaserade IT-företag
 Hyresvärd| Publicerad på 2020-12-25 15:50:46 |
Publicerad på 2021-09-22 20:39:35 |
Lär dig att lära dig...
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com