Використовуй. .NET, щоб отримати завантажену асемблеру, є неповною, хоча ми маємо на увазі інші бібліотеки, але без виклику його неможливо отримати у завантаженій асемблері; ця стаття ділить для отримання повної асемблерної асемблерної системи у WinForm і ASP.NET.
Введення
Використовуй. .NET, щоб отримати завантажену асемблеру, є неповною, хоча ми маємо на увазі інші бібліотеки, але без виклику його неможливо отримати у завантаженій асемблері; ця стаття ділить для отримання повної асемблерної асемблерної системи у WinForm і ASP.NET.
ASP.NET (невиміряний)
.NET Framework відкладає завантаження асемблев у поточний AppDomain до моменту їх потреби. Наприклад, якщо ви викликаєте лише сторонню бібліотеку з SomeMethod(), стороння DLL зазвичай не буде завантажена до першого запуску SomeMethod().
AppDomain.GetAssemblies() дає вам усі асембли, завантажені в поточний AppDomain. BuildManager.GetReferencedAssemblies() повертає список усіх асемблерів, на які посилаються з Web.config та інших локацій, і завантажує ці асамблеї у поточний AppDomain.
Код:
WinForm
Почніть із використання коду нижче, щоб отримати завантажену асемблю.
Кількість отриманих збірок становить 12, як показано на наступному рисунку:
Коли ми не викликаємо методи інших бібліотек, основний додаток не завантажує свої dll, ймовірно, щоб зекономити витрати продуктивності, тому перший раз, коли ми викликаємо методи інших бібліотек, це може бути трохи повільніше.
Використовуйте модифікований код, наступним чином:
Кількість отриманих асемблерів становить 117, і принцип полягає в тому, щоб отримати dll у каталогу додатків і завантажити його.
У цьому випадку при виклику AppDomain.CurrentDomain.GetAssemblies(). Метод ToList() дозволяє отримати повну збірку, яка може бути більшою за 117.
Візьміть поточну збірку
|