Загрузить и запустить файл .exe или CompilerResults в память? - PullRequest
0 голосов
/ 15 апреля 2019

Возможно ли загрузить 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...