Возможно ли загрузить CSC CompilerResults
в память вместо создания .exe
файла из него?
Мой код для компиляции и выполнения выглядит следующим образом (сокращенная версия):
var provider = new CSharpCodeProvider();
var parameters = new CompilerParameters
{
GenerateExecutable = true,
OutputAssembly = exeName,
GenerateInMemory = false,
TreatWarningsAsErrors = false
};
var compiler = provider.CompileAssemblyFromSource(parameters, code);
private Process process = new Process();
// set parameters of process like filename, use shell execute etc
process.Start();
// do stuff with it like StandardInput.Writeline or StandardOutput.ReadToEnd
process.WaitForExit();
// deleting executed .exe file:
FileInfo file = new FileInfo(process.StartInfo.FileName);
file.Delete();
У меня вопрос, есть ли простой способ загрузить скомпилированный код в память и выполнить его из памяти вместо создания файла .exe
, запустить его как Process
и затем удалить этот .exe
?