public ScriptAssembly(ScriptDomain scriptDomain, string path)
        {
            this.scriptDomain = scriptDomain;
            this.path         = path;

            lazyAssembly = new Utility.Lazy <Assembly>(this.LoadAssembly);
        }
示例#2
0
        public ApplicationDomain(ScriptEngines scriptEngines, string baseDirectory)
            : base(scriptEngines, baseDirectory)
        {
            lazyAssembly = new Utility.Lazy <Assembly>(LoadAssembly);

            var site = scriptEngines.Site;

            pathToAssembly = Path.Combine(scriptEngines.RuntimeDirectory, AssemblyName + ".dll");
        }
        public AppScriptDomain(ScriptEngines scriptEngines, string baseDirectory)
            : base(scriptEngines, baseDirectory)
        {
            lazyAssembly = new Utility.Lazy <Assembly>(this.LoadAssembly);

            var site = scriptEngines.Site;

            pathToAssembly = Path.Combine(scriptEngines.RuntimeDirectory, AssemblyName + ".dll");
            if (!Directory.Exists(baseDirectory))
            {
                Directory.CreateDirectory(baseDirectory);
            }
        }
        protected override void Dispose(bool disposing)
        {
            if (!IsDisposed)
            {
                try
                {
                    lazyAssembly.Dispose();

                    lazyAssembly   = null;
                    pathToAssembly = null;
                }
                finally
                {
                    base.Dispose(disposing);
                }
            }
        }