새 Appdomain에로드 된 DLL도 기본 appdomain에로드되는 문제가 있습니다!언로드 후 AppDomain 및 DLL 사용시 문제가 발생했습니다.
MarshalByRefObject에서 가져온 "Servicebase"클래스가 있습니다.
이제이 하위 클래스에서 다른 하위 클래스를 상속받습니다.
이러한 하위 클래스는 자체 앱 도메인에 추가해야합니다.
이 나는이 코드를 수행
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = Path.GetDirectoryName(dllFile);
setup.ApplicationName = Path.GetFileNameWithoutExtension(dllFile);
setup.LoaderOptimization = LoaderOptimization.MultiDomainHost;
setup.ShadowCopyFiles = "true";
setup.ConfigurationFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
hostAppDomain = AppDomain.CreateDomain(setup.ApplicationName, AppDomain.CurrentDomain.Evidence, setup);
이 작품은 ...
는 지금은이 코드 내 인스턴스를 생성 :host = hostAppDomain.CreateInstanceFrom(dllFile, className.Split(',')[0]);
난 지금의 AppDomain "로 검사 할 때 .CurrentDomain.GetAssemblies() "내 인스턴스 어셈블리가 내 주 어셈블리로로드되지 않습니다.
그러나이 exceuting 후
는 : var inst = (ServiceBase)host.Unwrap();
내 현재 어셈블리는 또한 DLL을로드.
아무도 내 이유를 말할 수 있습니까? 그리고 내가 뭘 할 수 있을까?