CreateInstanceFrom и Unwrap не может загрузить сборку при запуске в IIS

У меня есть служба WCF, которая использует компоненты MEF для обработки различных типов запросов.

Служба создает новый домен приложения с установленными свойствами для теневого копирования компонентов MEF и позволяет их динамически удалять / заменять, а затем создает объект диспетчера подключаемых модулей, который использует платформу MEF для загрузки компонентов.

private void CreatePluginManager()
{                   
   // creates a ShadowCopy of the MEF DLL's and any other DLL's in the ShadowCopyDirectories)
   var setup = new AppDomainSetup
   {
       CachePath = @"C:\Websites\Sites\tstNewNrates\plugins",  
       ShadowCopyFiles = "true",
       ShadowCopyDirectories = Code.Utilities.DefaultCarrierPluginDirectory,
       ApplicationBase = Environment.CurrentDirectory
   };

   domain = AppDomain.CreateDomain("Host_AppDomain", AppDomain.CurrentDomain.Evidence, setup);

   string AssemblyPath = Assembly.GetExecutingAssembly().Location;
        pluginMgr = (RatesWebService.Code.CarrierPluginManager)domain.CreateInstanceFrom(AssemblyPath, typeof(RatesWebService.Code.CarrierPluginManager).FullName).Unwrap();
    }

Этот код будет хорошо работать, когда я размещаю службу WCF локально в консольном приложении, но при развертывании в IIS 7.5 не удается найти общую библиотечную зависимость, которая используется как службой WCF, так и каждым из плагинов, даже если эта сборка расположена В этой же папке есть сервис и каждый из плагинов.

Локально создается теневая копия всех файлов. На IIS копия никогда не производится.

0 ответов

Другие вопросы по тегам