System C# by API

using System;
using System.Reflection;
using System.Windows.Forms;
  
public class MainClass
{
  public static void defaultAD_DomainUnload(object sender, EventArgs e)
  {
    Console.WriteLine("Unloaded defaultAD!");
  }
  private static void defaultAD_ProcessExit(object sender, EventArgs e)
  {
    Console.WriteLine("Unloaded defaultAD!");
  }
  public static int Main(string[] args)
  {
    AppDomain defaultAD = AppDomain.CreateDomain("SecondAppDomain");
    defaultAD.DomainUnload += new EventHandler(defaultAD_DomainUnload);
    defaultAD.ProcessExit +=new EventHandler(defaultAD_ProcessExit);
    // Now unload anotherAD.
    AppDomain.Unload(defaultAD);
    return 0;
  }
}