Použít. .NET pro získání načteného assembleru je neúplný, i když odkazujeme na jiné knihovny, ale bez volání jej nelze získat v načtené assembleru, tento článek sdílí, že získat kompletní assembly assembly ve WinForm a ASP.NET.
Úvod
Použít. .NET pro získání načteného assembleru je neúplný, i když odkazujeme na jiné knihovny, ale bez volání jej nelze získat v načtené assembleru, tento článek sdílí, že získat kompletní assembly assembly ve WinForm a ASP.NET.
ASP.NET (neměřené)
.NET Framework odkládá načítání assemblerů do aktuálního AppDomain, dokud nejsou potřeba. Například pokud voláte pouze knihovnu třetí strany z SomeMethod(), DLL třetí strany se obvykle načte až při prvním spuštění SomeMethod().
AppDomain.GetAssemblies() vám zobrazí všechny assemblie, které byly načteny do aktuálního AppDomain. BuildManager.GetReferencedAssemblies() vrací seznam všech assembly odkazovaných z Web.config a dalších lokalit a načte tyto assemblies do aktuálního AppDomain.
Kód:
WinForm
Začněte použitím níže uvedeného kódu k získání načtené sestavy.
Počet sestav shromáždění je 12, jak je znázorněno na následujícím obrázku:
Když nevoláme metody jiných knihoven, hlavní aplikace své dll nenačítá, pravděpodobně kvůli úsporě výkonu, takže poprvé, když voláme metody jiných knihoven, může to být o něco pomalejší.
Použijte upravený kód, a to následovně:
Počet sestavených assemblerů je 117 a princip spočívá v tom, že se dll dostane do adresáře aplikací a najde se.
V tomto případě, při volání AppDomain.CurrentDomain.GetAssemblies(). Metodou ToList() můžete získat kompletní sestavu, která může být více než 117.
Získejte aktuální shromáždění
|