MEF и ShadowCopying DLL, чтобы я мог перезаписать их во время выполнения

Я пытаюсь остановить DLL-библиотеки блокировки приложений в каталоге плагинов MEF, чтобы я мог перезаписать сборки во время выполнения (заметьте, я на самом деле не пытаюсь, чтобы MEF перезагружал их на лету, при следующем запуске приложения все в порядке, я просто не хочу останавливать приложение, чтобы сделать копию)

Я пытаюсь сделать это путем создания домена приложения теневого копирования для загруженных мной сборок, как показано ниже:

[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; }
    }

а затем получить доступ к моему каталогу компонентов MEF через CompositionContainer для этого класса. Однако составной контейнер, кажется, инициализируется только внутри домена shadowcopy (что имеет смысл), и это означает, что он является нулевым в моем домене приложения. Мне просто интересно, есть ли лучший способ сделать это или какой-либо способ кросс-доменного запроса, чтобы получить мои компоненты MEF