private static Assembly _CompileFiles(string[] files) { if (files == null || files.Length == 0) { return(null); } var compilerParams = new CompilerParameters(); compilerParams.ReferencedAssemblies.Add("System.Windows.Forms.dll"); compilerParams.ReferencedAssemblies.Add("System.dll"); compilerParams.ReferencedAssemblies.Add("System.Core.dll"); compilerParams.ReferencedAssemblies.Add(Path.Combine("libs", "managed", "VocaluxeLib.dll")); compilerParams.GenerateInMemory = true; #if DEBUG compilerParams.IncludeDebugInformation = true; #endif using (CodeDomProvider cdp = CodeDomProvider.CreateProvider("CSharp")) { CompilerResults compileResult; try { compileResult = cdp.CompileAssemblyFromFile(compilerParams, files); } catch (Exception e) { CLog.LogError("Error Compiling Source (" + CHelper.ListStrings(files) + "): " + e.Message); return(null); } if (compileResult.Errors.Count > 0) { foreach (CompilerError e in compileResult.Errors) { CLog.LogError("Error Compiling Source (" + CHelper.ListStrings(files) + "): " + e.ErrorText + " in '" + e.FileName + "' (" + e.Line + ")"); } return(null); } return(compileResult.CompiledAssembly); } }