Получение 2 сборок как одного и того же пути при использовании метода Assembly.LoadFrom. Почему? - PullRequest
0 голосов
/ 21 мая 2018
 string Version1_dll = System.Configuration.ConfigurationManager.AppSettings["Version1_dll"];//New_Dll

 string Version2_dll = System.Configuration.ConfigurationManager.AppSettings["Version2_dll"];//Old Dll

 Assembly assembly1 = Assembly.LoadFrom(Version1_dll);
 Assembly assembly2 = Assembly.LoadFrom(Version2_dll);

В приведенном выше коде, чтение файлов 2 dll и выборка данных, таких как контроллеры, методы и их параметры.

Но, здесь проблема в том, что Assembly.LoadFrom(Version2_dll) переопределяет и показывает то же самое (Version1_dll) путь к dll в 2 объектах.

1 Ответ

0 голосов
/ 21 мая 2018
  • Для этой конкретной проблемы в Application Domain возможна только копия DLL.

  • Вот почему при загрузке более новой версии она не будет загружена уже в Домене приложения.

  • Здесь, как при добавлении такой сборки (Оба одинаковы), тогда возможно, что оба имеют одно и то же пространство имен, поэтому оно запутано и не позволяет загружаться.

Примечание.загрузка сборки работает.

Решение 1:

Чтобы решить эту проблему, вы должны указать номер версии DLL в AssemblyInfo.cs.Если вы укажете другую версию, то это позволит загрузить обе.(Также не забудьте указать строгое имя в разделе подписи проекта.).

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