/// <summary> /// 내부 필드를 초기화하는 기본 생성자 입니다. /// </summary> private AssemblyProxy() { _targetAppDomain = null; _assemblyProxyLoader = null; _isVaild = false; EventUnload = null; }
/// <summary> /// 어셈블리 파일로 부터 로드 합니다. /// </summary> /// <param name="domainName"></param> /// <param name="assemblyFilePath"></param> public AssemblyProxy(string domainName, string assemblyFilePath) : this() { if (domainName == null || domainName == string.Empty) { throw new ArgumentException("domainName은 null or empty값이 될 수 없습니다."); } try { _refCounter = new RefCounter(domainName); _targetAppDomain = CreateAppDomainFromEnv(domainName); _assemblyProxyLoader = AssemblyProxyLoader.CreateLoaderAndLoadFormFile(_targetAppDomain, assemblyFilePath); _isVaild = true; } catch (Exception e) { _isVaild = false; throw new Exception("AssemblyProxy 생성에 실패 하였습니다. 자세한 사항은 Inner를 참조하십시오.", e); } }