Descargar un archivo dll en mef

Tengo algunos complementos como archivos dll. Mi aplicación carga el dll y funciona bien. pero cuando trato de eliminar el antiguo complemento y reemplazarlo con un nuevo complemento, no me permite hacerlo. como ha sido cargado por la aplicación. He descubierto que al usar appdomain podemos hacer eso. pero no puedo encontrar una solución en la que se use mef.

Necesito un código que pueda ejecutarse en mef. A continuación se muestra mi código que se utiliza para cargar complementos.

//Creating an instance of aggregate catalog. It aggregates other catalogs
var aggregateCatalog = new AggregateCatalog();

//Build the directory path where the parts will be available
var directoryPath = "Path to plugins folder";

//Load parts from the available dlls in the specified path using the directory catalog
var directoryCatalog = new DirectoryCatalog(directoryPath, "*.dll");

//Add to the aggregate catalog
aggregateCatalog.Catalogs.Add(directoryCatalog);

//Crete the composition container
var container = new CompositionContainer(aggregateCatalog);


// Composable parts are created here i.e. the Import and Export components assembles here
container.ComposeParts(this);