18/03/2021, 09:46

[C#] Hướng dẫn build code động xuất file exe trên Winform

Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách biên dịch code C# tự động xuất file exe trên lập trình C#, Winform. Dưới đây là giao diện demo ứng dụng, biên dịch code C#: Trong Sqlserver, thì chúng ta có Dynamic Sql thì trong ...

Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách biên dịch code C# tự động xuất file exe trên lập trình C#, Winform.

Dưới đây là giao diện demo ứng dụng, biên dịch code C#:

dynamic_build_code_csharp

Trong Sqlserver, thì chúng ta có Dynamic Sql thì trong C# Winform cũng vậy.

Microsoft đã cung cấp cho chúng ta NameSpace using Microsoft.CSharp; để chúng ta có thể Biên dịch code từ chuỗi ra file Exe run time.

Ở demo trong bài viết này, mình sẽ tích hợp vào đoạn code là đọc thông tin các phần mềm nào đã được cài đặt trên máy tính.

Và khi nhấn nút compiler thì nó sẽ biên dịch ra cho chúng ta một File Exe mới với tên Thaomeo.exe (tên này chúng ta tự đặt).

build_code_csharp_runtime

Source code thực hiện biên dịch File Dynamic Runtime c#:

private void btnComplie_Click(object sender, EventArgs e)
{
    rtbResult.Clear();
    CSharpCodeProvider csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", txtNetFramework.Text } });
    CompilerParameters parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, txtNameFile.Text, true);
    parameters.GenerateExecutable = true;
    CompilerResults results = csc.CompileAssemblyFromSource(parameters, txtCode.Text);
    if (results.Errors.HasErrors)
    {
        results.Errors.Cast<CompilerError>().ToList().ForEach(error => rtbResult.Text += error.ErrorText + "
");
    }
    else
    {
        rtbResult.Text = "-----Build succeeded-----";
        Process.Start(Application.StartupPath + "/" + txtNameFile.Text);
    }
}

Bài viết này, nhằm mục đích để học tập, mình không khuyến khích các bạn sử dụng bài viết này để viết các dụng Malware, backdoor...

Thanks for watching!

DOWNLOAD SOURCE

Tags: dynamic build code c#create file exe runtime c#
0