Code: Select all
using System;
using System.Web.Compilation;
class Program
{
static void Main()
{
string virtualPath = "/";
string physicalPath = @"C:\MyApp";
using (ClientBuildManager cbm = new ClientBuildManager(virtualPath, physicalPath))
{
// Precompile the entire application
Console.WriteLine("Precompiling application...");
cbm.PrecompileApplication(new MyBuildManagerCallback());
// Compile specific files
string[] files = { "~/Pages/MyPage.aspx", "~/Controls/MyControl.ascx" };
foreach (string file in files)
{
try
{
Console.WriteLine($"Compiling {file}...");
cbm.CompileFile(file, new MyBuildManagerCallback());
}
catch (Exception ex)
{
Console.WriteLine($"Error compiling {file}: {ex.Message}\n{ex.StackTrace}");
}
}
}
}
}
public class MyBuildManagerCallback : ClientBuildManagerCallback
{
public override void ReportProgress(string message)
{
Console.WriteLine($"Progress: {message}");
}
}