예제 #1
0
        public void compileFiles()
        {
            if (files.isEmpty())
            {
                Constants.reinitAssembly();
                return;
            }
            CompilerParameters parameters_ = new CompilerParameters();

            parameters_.GenerateExecutable = false;
            parameters_.GenerateInMemory   = true;
            parameters_.ReferencedAssemblies.AddRange(refAssemblies.ToArray());

            CompilerResults r_ = CodeDomProvider.CreateProvider("CSharp").CompileAssemblyFromSource(parameters_, files.values().ToArray());

            if (r_.Errors.Count > 0)
            {
                Constants.reinitAssembly();
                errors = r_.Errors;
                return;
            }
            Assembly as_ = r_.CompiledAssembly;

            Constants.setAssembly(as_);
        }