C#: можно ли выгрузить сборку принудительно?
Грузи в отдельный процесс.
это нормально, что dll-ки из дочернего AppDomain-а просачиваются в родительский?
это нормально, что dll-ки из дочернего AppDomain-а просачиваются в родительский?такого не должно быть
Мне ещё не понятно, как так получается, что у меня приложение на сишарпе, AnyCPU, 64-битное. а ActiveX-контрол 32-битный грузится в WebBrowser.Предполагаю, что установлен флаг "Prefer 32-bit". В этом случае AnyCpu запускается как 32-битное
это нормально, что dll-ки из дочернего AppDomain-а просачиваются в родительский?Так может произойти, если случайно обратиться к манифесту этой dll-ки из родительского AD. Например, ты создал объект в другом AppDomain, затем переслал его в родительский AppDomain и вызвал у него GetType. При этом, кажется, .NET загрузит dll-ку в родительский домен.
Запускай отдельный инстанс приложения и общайся с ним через ремоутинг.
что у меня приложение на сишарпе, AnyCPU, 64-битное.Проверь, что показывает TaskManager. Если есть суффикс '*32', то приложение запускается как 32-битное.
Оставить комментарий
yolki
В продолжение моих постов про внедрение ActiveX на формочку.Решение с WebBrowser работает.
Есть нюанс: эта зараза не подходит к повторному использованию - одноразовая. Если нужно некоторые действия сделать на другой манер - она просто играет в молчанку. В эксплорере та же фигня - но там просто лечится переоткрытием окна.
я пробовал WebBrowser создавать в динамике - не получилось, поведение тоже самое. Пробовал огородить его в AppDomain - эффект тот же самый.
Судя по отладчику, после загрузки/выгрузки дочернего AppDomain-а, сборка, ответственная за WebBrowser, почему-то загружается и в родительский аппдомен (mshtml.dll).