MEF y ShadowCopying DLL para que pueda sobrescribirlos en tiempo de ejecución

Estoy tratando de detener mi aplicación bloqueando los archivos DLL en mi directorio de plugins de MEF para poder sobrescribir los ensamblajes en tiempo de ejecución (tenga en cuenta que en realidad no estoy tratando de que MEF los vuelva a cargar sobre la marcha, en el próximo inicio de la aplicación está bien, simplemente No quiero tener que detener la aplicación para hacer la copia)

Intento hacer esto creando un dominio de aplicación copiado en la sombra para mis ensamblados cargados de mef como se muestra a continuación:

[Serializable]
    public class Composer:IComposer
    {
        private readonly string _pluginPath;
        public Composer(IConfigurePluginDirectory pluginDirectoryConfig)
        {
            _pluginPath = pluginDirectoryConfig.Path;
            var setup = new AppDomainSetup();
            setup.ShadowCopyFiles = "true"; // really??? is bool not good enough for you?
            var appDomain = AppDomain.CreateDomain(AppDomain.CurrentDomain.FriendlyName + "_PluginDomain", AppDomain.CurrentDomain.Evidence, setup);

            appDomain.DoCallBack(new CrossAppDomainDelegate(DoWorkInShadowCopiedDomain));      
        }

        private void DoWorkInShadowCopiedDomain()
        {
            // This work will happen in the shadow copied AppDomain.

            var catalog = new AggregateCatalog();
            var dc = new DirectoryCatalog(_pluginPath);
            catalog.Catalogs.Add(dc);
            Container = new CompositionContainer(catalog);
        }

        public CompositionContainer Container { get; private set; }
    }

y luego acceda a mi catálogo de componentes MEF a través del CompositionContainer en esta clase. Sin embargo, el contenedor de composición parece que solo se inicializa dentro del dominio de copia de sombra (lo que tiene sentido) y esto significa que es nulo en mi dominio de aplicación. Me preguntaba si hay una mejor manera de hacer esto o alguna forma de cruzar la consulta de dominio para obtener mis componentes MEF

Respuestas a la pregunta(3)

Su respuesta a la pregunta