//private static string RunCode_GetNewAssemblyFile() //{ // // "c:\pib\prog\tools\runsource\exe\run\RunSource_00001" // if (!zDirectory.Exists(__defaultGenerateAssemblySubdirectory)) // zDirectory.CreateDirectory(__defaultGenerateAssemblySubdirectory); // int i = zfile.GetLastFileNameIndex(__defaultGenerateAssemblySubdirectory) + 1; // return zPath.Combine(__defaultGenerateAssemblySubdirectory, __defaultGenerateAssemblyName + string.Format("_{0:00000}", i)); //} private GenerateCSharpCodeResult RunCode_GenerateCode(string code, CompilerProject compilerProject, string assemblyFilename) { GenerateCSharpCode generateCSharpCode = new GenerateCSharpCode(assemblyFilename); generateCSharpCode.RunTypeName = GetRunSourceConfig().Get("GenerateCodeRunTypeName", "_RunCode"); // "w" generateCSharpCode.RunMethodName = GetRunSourceConfig().Get("GenerateCodeRunMethodName", "Run"); if (compilerProject != null) { generateCSharpCode.NameSpace = compilerProject.GetNameSpace(); generateCSharpCode.AddUsings(compilerProject.GetUsings()); } return(generateCSharpCode.GenerateCode(code)); }
//private static string RunCode_GetNewAssemblyFile() //{ // // "c:\pib\prog\tools\runsource\exe\run\RunSource_00001" // if (!zDirectory.Exists(__defaultGenerateAssemblySubdirectory)) // zDirectory.CreateDirectory(__defaultGenerateAssemblySubdirectory); // int i = zfile.GetLastFileNameIndex(__defaultGenerateAssemblySubdirectory) + 1; // return zPath.Combine(__defaultGenerateAssemblySubdirectory, __defaultGenerateAssemblyName + string.Format("_{0:00000}", i)); //} private GenerateCSharpCodeResult RunCode_GenerateCode(string code, CompilerProject compilerProject, string assemblyFilename) { GenerateCSharpCode generateCSharpCode = new GenerateCSharpCode(assemblyFilename); generateCSharpCode.RunTypeName = GetRunSourceConfig().Get("GenerateCodeRunTypeName", "_RunCode"); // "w" generateCSharpCode.RunMethodName = GetRunSourceConfig().Get("GenerateCodeRunMethodName", "Run"); if (compilerProject != null) { generateCSharpCode.NameSpace = compilerProject.GetNameSpace(); generateCSharpCode.AddUsings(compilerProject.GetUsings()); } return generateCSharpCode.GenerateCode(code); }
private void _GenerateCodeAndCompile_v2(IGenerateAndExecute generateAndExecute, string code, bool compileWithoutProject = false) { // use CompilerDefaultValues from runsource.runsource.config.xml runsource.runsource.config.local.xml if (code == "") { return; } CompilerProject compilerProject = null; if (!compileWithoutProject) { compilerProject = GetProjectCompilerProject(); } if (compilerProject == null) { compilerProject = GetDefaultProject(); } if (compilerProject != null) { generateAndExecute.NameSpace = compilerProject.GetNameSpace(); } if (compilerProject != null) { generateAndExecute.AddUsings(compilerProject.GetUsings()); } generateAndExecute.GenerateCSharpCode(code); SetCompilerValues(generateAndExecute, compilerProject); ICompiler compiler = generateAndExecute.Compiler; //Compiler compiler = new Compiler(); //compiler.SetOutputAssembly(assemblyFilename); //compiler.AddSource(new CompilerFile(file)); compiler.Compile(); //Assembly assembly = _compiler.Results.CompiledAssembly; if (compiler.HasError()) { //DataTable dtMessage = compiler.GetCompilerMessagesDataTable(); //if (dtMessage != null) //{ // gdtResult = dtMessage; // gdsResult = null; // gsXmlResultFormat = null; // if (ErrorResultSet != null) // ErrorResultSet(gdtResult, null); //} SetResultCompilerMessages(compiler); } else { // trace warning compiler.TraceMessages(); } }