Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 46998|Atsakyti: 2

[Šaltinis] .NET negauna viso nuorodų rinkinio rinkinio

[Kopijuoti nuorodą]
Paskelbta 2020-08-22 10:41:02 | | | |
Naudojimas. .NET gauti įkeltą rinkinį yra neišsamus, nors mes nurodome kitas bibliotekas, bet be skambučio, jo negalima gauti įkeltame rinkinyje, šiame straipsnyje dalijamasi gauti visą rinkinio rinkinį WinForm ir ASP.NET.

Įvadas

Naudojimas. .NET gauti įkeltą rinkinį yra neišsamus, nors mes nurodome kitas bibliotekas, bet be skambučio, jo negalima gauti įkeltame rinkinyje, šiame straipsnyje dalijamasi gauti visą rinkinio rinkinį WinForm ir ASP.NET.

ASP.NET (neišmatuotas)

.NET Framework atideda rinkinių įkėlimą į dabartinį "AppDomain", kol jų prireiks. Pavyzdžiui, jei iškviečiate tik trečiosios šalies biblioteką iš SomeMethod(), trečiosios šalies DLL paprastai nebus įkeltas iki pirmojo SomeMethod() paleidimo.

AppDomain.GetAssemblies() pateikia visus rinkinius, kurie buvo įkelti į dabartinį AppDomain. BuildManager.GetReferencedAssemblies() pateikia visų rinkinių, nurodytų iš Web.config ir kitų vietų, sąrašą ir įkelia tuos rinkinius į dabartinį AppDomain.

Kodas:



WinForm

Pradėkite naudodami toliau pateiktą kodą, kad gautumėte pakrautą mazgą.



Gautų surinkimo mazgų skaičius yra 12, kaip parodyta šiame paveikslėlyje:



Kai neiškviečiame kitų bibliotekų metodų, pagrindinė programa neįkelia savo DLL, tikriausiai norėdama sutaupyti našumo sąnaudų, todėl pirmą kartą iškviečiant kitų bibliotekų metodus, tai gali būti šiek tiek lėtesnė.

Naudokite modifikuotą kodą taip:





Gautų surinkimo mazgų skaičius yra 117, o principas yra gauti dll programų kataloge ir įkelti.

Tokiu atveju iškviečiant AppDomain.CurrentDomain.GetAssemblies(). ToList() metodu, galite gauti visą surinkimą, kuris gali būti didesnis nei 117.

Gauti dabartinį rinkinį





Ankstesnis:.NET naudoja "Redis" talpyklą pranešimams apie galiojimo laiką
Kitą:Profesionalus valdymo įrankis "ServiceNow" debesų IT verslui
 Savininkas| Paskelbta 2020-12-25 15:50:46 |
Paskelbta 2021-09-22 20:39:35 |
Išmokite mokytis...
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com