/// <summary>
 ///
 /// </summary>
 public void Dispose()
 {
     Unload();
     _currDomain = null;
     _scope.Dispose();
     _scope   = null;
     _context = null;
     GC.SuppressFinalize(this);
 }
        /// <summary>
        ///
        /// </summary>
        public ScriptRuntimeScope CreateScope(ScriptSettupInfo settupInfo)
        {
            var    type   = typeof(ScriptRuntimeScope);
            string amsKey = type.Assembly.GetName().Name;

            _scope = CreateRuntimeScope(settupInfo, amsKey, type);
            if (_scope != null)
            {
                _scope.Init();
            }
            return(_scope);
        }