//public ascx_ScriptsFolder scriptsFolder; /* public void addCurrentAppDomainsDllsAsReferences() * { * foreach(var assembly in AppDomain.CurrentDomain.GetAssemblies()) * { * var assemblyName = Path.GetFileName(assembly.Location); * if (false == lsExtraReferenceAssembliesToAdd.Contains(assemblyName)) * if (assemblyName.IndexOf("JetBrains")==-1 && * assemblyName.IndexOf("VisualStudio") == -1 && * assemblyName.IndexOf("SMDiagnostics") == -1) // don't add these assemblies * lsExtraReferenceAssembliesToAdd.Add(assemblyName); * * } * }*/ public void compileSourceCode() { if (sourceCodeEditor.partialFileViewMode == false) { if (this.okThread(delegate { compileSourceCode(); })) { var lsExtraReferencesToAdd = new List <string>(); //lsExtraReferenceAssembliesToAdd.ToArray()); String sErrorMessages = ""; var compileEngine = new CompileEngine(); Assembly aCompiledAssembly = null; if (tbExtraReferencesToAdd.Text != "") { lsExtraReferencesToAdd.AddRange(tbExtraReferencesToAdd.Text.Split(new[] { Environment.NewLine }, StringSplitOptions. RemoveEmptyEntries)); } lbSourceCode_CompilationResult.Items.Clear(); var exeMainClass = (rbCreateExe.Checked) ? tbMainClass.Text : ""; var outputAssemblyName = ""; // todo expose outputAssemblyName on GUI //DI.config.addPathToCurrentExecutableEnvironmentPathVariable(DI.config.O2TempDir); sourceCodeEditor.saveSourceCode(); var filesToCompile = new List <String> { sourceCodeEditor.sPathToFileLoaded }; if (compileEngine.compileSourceFiles(filesToCompile, lsExtraReferencesToAdd.ToArray(), ref aCompiledAssembly, ref sErrorMessages, false /*verbose*/, exeMainClass, outputAssemblyName)) { // if we only have 1 class in the completed code, set tbMainClass.Text to it if (aCompiledAssembly.GetTypes().Length == 1) { tbMainClass.Text = aCompiledAssembly.GetTypes()[0].FullName; } lbSourceCode_CompilationResult.ForeColor = Color.Black; lbSourceCode_CompilationResult.Items.Add("No errors"); O2Messages.dotNetAssemblyAvailable(aCompiledAssembly.Location); //if (assemblyInvoke != null) // assemblyInvoke.loadAssembly(aCompiledAssembly, cbAutoExecuteOnMethodCompile.Checked); } else { //assemblyInvoke.setControlsEnableState(false); lbSourceCode_CompilationResult.ForeColor = Color.Red; compileEngine.addErrorsListToListBox(sErrorMessages, lbSourceCode_CompilationResult); } if (cbAutoSaveOnCompile.Checked) { sourceCodeEditor.saveSourceCode(); } } } }