internal void DomainDisposed() { lock (m_locker) { if (m_disposed) { return; } else { m_disposed = true; } m_externalAsmWrapper = null; Domain = null; LoadException = null; LastEx = null; AssemblyName = null; FileInfo = null; m_disposed = true; } //на случай если сборка была "потеряна и забыта" //и методы был вызван из деструктора //уведомляем домен, что сборка освобождена //вдруг он ещё есть :) try { UnLoaded?.Invoke(this); } catch { } }
internal SeparatedAssembly(ExternalAppDomainAssembly asm, SeparatedAppDomain domain) { m_externalAsmWrapper = asm; Domain = domain; }