protected virtual Type GetTemplateCodeTypeByCode(String Code)
{
CSharpCodeProvider CSharpCodeProvider = new CSharpCodeProvider();
//Console.WriteLine(Assembly.GetExecutingAssembly().FullName);
CompilerResults CompilerResults = CSharpCodeProvider.CompileAssemblyFromSource(
new CompilerParameters(new string[] {
"System.dll",
"Microsoft.CSharp.dll",
"System.Core.dll",
System.Reflection.Assembly.GetAssembly(typeof(TemplateCodeGen)).Location
}),
Code
);
if (OutputGeneratedCode)
{
Console.Error.WriteLine(Code);
}
if (CompilerResults.NativeCompilerReturnValue == 0)
{
Assembly assembly = CompilerResults.CompiledAssembly;
Type Type = assembly.GetType("CompiledTemplate_TempTemplate");
return Type;
}
else
{
Console.Error.WriteLine(Code);
foreach (var Error in CompilerResults.Errors)
{
Console.Error.WriteLine("Error: " + Error);
}
throw (new Exception("Error Compiling"));
}
}