Как я могу избежать динамической загрузки сборки, которую я уже загрузил с помощью Reflection? - PullRequest
13 голосов
/ 19 октября 2011

Я загружаю сборки, используя Assembly.LoadFile (assemblyFilePath) в цикле, и я хочу избежать вызова Assembly.LoadFile, если сборка уже была загружена один раз. Должен ли я быть обеспокоен повторным вызовом Assembly.LoadFile для DLL, которая уже была загружена? Спасибо.

Ответы [ 2 ]

19 голосов
/ 19 октября 2011

Нет, вам не нужно беспокоиться, потому что если сборка уже была загружена, она не будет загружена снова

Если вы вызываете Assembly.LoadFile (), вы можете загрузить одну и ту же сборку несколько разно только если вы каждый раз загружаете сборку с другого пути.Вы можете использовать Assembly.Load () , которая загрузит сборку только один раз.Вы также можете найти уже загруженные сборки в текущем домене приложения, используя

Assembly[] asms = AppDomain.CurrentDomain.GetAssemblies();
0 голосов
/ 19 октября 2011

Для данного AppDomain вы можете позвонить GetAssemblies и посмотреть, загружен ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...