MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Как получить результат компиляции?"
Answer 827505
Нет необходимости вызывать компилятор напрямую, для этого есть встроенный API (System.CodeDom.Compiler). Ошибки можно получить через свойство CompilerResults.Errors:
using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Text; using System.Windows.Forms; using System.Reflection; using System.CodeDom.Compiler; using Microsoft.CSharp; namespace WindowsFormsTest1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var csc = new CSharpCodeProvider(); string filepath = "c:\\test\\Hello.cs"; var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "c:\\test\\Hello.exe", true); parameters.GenerateExecutable = true; CompilerResults results = csc.CompileAssemblyFromFile(parameters, new string[]{filepath}); if (results.Errors.Count > 0) { textBox1.Text = "Errors: " + Environment.NewLine; foreach (var err in results.Errors) { textBox1.Text += err.ToString() + Environment.NewLine; } return; } else MessageBox.Show("Компиляция завершена успешно!"); } } }
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.