/// <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);
            }
        }