以下を使用して、実行時に C# をコンパイルします。
CompilerParameters parameters = new CompilerParameters
{
GenerateInMemory = true,
GenerateExecutable = true,
IncludeDebugInformation = true
};
// True - memory generation, false - external file generation
// True - exe file generation, false - dll file generation
var res = pro.CompileAssemblyFromSource(parameters,
code);
Assembly assembly = res.CompiledAssembly;
Type program = assembly.GetType("First.Program");
MethodInfo main = program.GetMethod("Main");
var invoke = main?.Invoke(null, null);
res.Output
は空のリストですが、コードConsole.WriteLine()
に が含まれている場合は、メイン アプリケーションのコンソールに書き込まれます。書かれていることをつかみたい。