Cargar un ensamblado dentro de un
Dominio de Aplicación es una tarea muy sencilla. Lo único que tenemos que hacer es crear un objeto de AppDomain y después ejecutar algunos de los métodos
ExecuteAssembly o
ExecuteAssemblyByName. Estos métodos nos permiten definir el ensamblado que queremos ejecutar dentro del Dominio de Aplicación, la diferencia radica en que ExecuteAssembly espera la ruta completa del ensamblado mientras que ExecuteAssemblyByName espera el nombre del ensamblado únicamente. El siguiente código y resultado del mismo nos ayudará a comprender un poco más acerca de lo que se está explicando:
Código de Ensamblado.exe
namespace Ensamblado
{ class Program
{ static void Main(string[] args)
{ Console.WriteLine("La hora exacta es: {0}", DateTime.Now); }
}
}
Código de CargaEnsamblado.exe
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CargaEnsamblado
{ class Program
{ static void Main(string[] args)
{ Console.WriteLine("Creando dominio de aplicación..."); AppDomain dominio = AppDomain.CreateDomain("MiDominio"); Console.WriteLine("Ejecutando ensamblado usando ExecuteAssembly()"); dominio.ExecuteAssembly("Ensamblado.exe"); Console.WriteLine("Ejecutando ensamblado usando ExecuteAssemblyByName()"); dominio.ExecuteAssemblyByName("Ensamblado"); }
}
}
Resultado:

Código Fuente
Descargar
Referencias
MSDN