Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 46998|Відповідь: 2

[Джерело] .NET не отримує повний еталонний асамблею

[Копіювати посилання]
Опубліковано 22.08.2020 10:41:02 | | | |
Використовуй. .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.

Візьміть поточну збірку





Попередній:.NET використовує кеш Redis для сповіщень про закінчення терміну дії
Наступний:Професійний інструмент управління для хмарного ІТ-бізнесу ServiceNow
 Орендодавець| Опубліковано 25.12.2020 15:50:46 |
Опубліковано 22.09.2021 20:39:35 |
Навчися вчитися...
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com