Подтвердить что ты не робот

Как я могу избежать загрузки сборки динамически, которую я уже загрузил с помощью Reflection?

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

4b9b3361

Ответ 1

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

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

Assembly[] asms = AppDomain.CurrentDomain.GetAssemblies();

Ответ 2

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