Exemplo n.º 1
0
        //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));
        }
Exemplo n.º 2
0
        //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);
        }
Exemplo n.º 3
0
        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();
            }
        }