Divyay208 Ответов: 0

Как скомпилировать код C#, который помещается в элемент управления textarea(на странице aspx), и заполнить безошибочный код в файл cs.


Всем Привет,

У меня есть одно сомнение в моем заявлении. Я использую элемент управления textarea на своей странице aspx. в этом элементе управления у меня есть программа c#. Мое требование заключается в том, что мне нужно скомпилировать весь этот код, если была нажата кнопка, и если возникли какие-либо ошибки, нужно показать их в другом текстовом поле/ярлыке. на самом деле я пробовал для Windows Form application его работа отлично теперь мне нужно это в веб-приложении.. вот код, который я использовал для приложения Windows Form...
public Form1()
{
    InitializeComponent();
    this.button1.Click += new System.EventHandler(this.button1_Click);
   
}

private void button1_Click(object sender, System.EventArgs e)
{
    CSharpCodeProvider codeProvider = new CSharpCodeProvider();
    ICodeCompiler icc = codeProvider.CreateCompiler();
    string Output = "Out.exe";
    Button ButtonObject = (Button)sender;

    textBox2.Text = "";
    System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
    //Make sure we generate an EXE, not a DLL
    parameters.GenerateExecutable = true;
    parameters.OutputAssembly = Output;
    CompilerResults results = icc.CompileAssemblyFromSource(parameters, textBox1.Text);

    if (results.Errors.Count > 0)
    {
        textBox2.ForeColor = Color.Red;
        foreach (CompilerError CompErr in results.Errors)
        {
            textBox2.Text = textBox2.Text +
                        "Line number " + CompErr.Line +
                        ", Error Number: " + CompErr.ErrorNumber +
                        ", '" + CompErr.ErrorText + ";" +
                        Environment.NewLine + Environment.NewLine;
        }
    }
    else
    {
        //Successful Compile
        textBox2.ForeColor = Color.Blue;
        textBox2.Text = "Success!";
        //If we clicked run then launch our EXE
        if (ButtonObject.Text == "Run") Process.Start(Output);
    }
}

Будьте добры подсказать мне, что мне нужно делать в этом случае. Присылайте мне любые рекомендации.

Я был бы вам очень благодарен.

заранее спасибо.

Что я уже пробовал:

Я пытался использовать существующие пакеты, но не работал

Krunal Rohit

Это код приложения формы.
-КРОНА

Sergey Alexandrovich Kryukov

Не совсем понятно, в чем может быть ваша проблема...
—СА

Divyay208

извините за вышеприведенный вопрос, я пробовал для приложения windows form..но мое требование заключается в том, что для веб-приложения мне нужна такая же реализация

0 Ответов