Динамическое компилирование исходников - C#
Формулировка задачи:
Есть строка, в которой исходник с консольным приложением на каком-то языке (c++, c#, java). Как ее можно скомпилировать и выполнить в c#? Можно ли, чтобы скомпилированный код запускался как отдельная программа. Что-то типа ide для разработки
Решение задачи: «Динамическое компилирование исходников»
textual
Листинг программы
using System; using System.CodeDom.Compiler; using System.Collections.Generic; using Microsoft.CSharp; namespace ConsoleApplication7 { class Program { static void Main(string[] args) { string sProgram = @"using System; namespace Generated { class Program { static void Main(string[] args) { Console.WriteLine(""Enter a string""); string line = Console.ReadLine(); Console.WriteLine(line); Console.ReadKey(); } } }"; var codeProvider = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } }); var compilerParams = new CompilerParameters { OutputAssembly = "D:\\Generated.exe", GenerateExecutable = true, }; // compile var results = codeProvider.CompileAssemblyFromSource(compilerParams, sProgram); // run System.Diagnostics.Process.Start("D:\\Generated.exe"); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д