Управление AppDomainSetup при активации AddInToken в AddInProcess - PullRequest
1 голос
/ 22 июня 2009

В .net можно создать AddIn в новом домене приложений. В создании новых доменов приложений нет ничего нового, и можно использовать класс AppDomainSetup, чтобы указать все параметры запуска (например, где найти app.config) вновь созданного домена приложений. Однако при активации AddInToken с использованием нового AddInProcess (который указывает, что AddIn должен быть создан в рамках совершенно нового процесса), он не имеет прямого доступа к параметрам AppDomainSetup, которые будут использоваться для создания AppDomain в новом процессе.

Есть ЛЮБОЙ способ сделать это ?? Мне действительно нужно иметь возможность заставить мои новые надстройки использовать новые настройки app.config и различные другие настройки в домене приложений.

Спасибо за любую помощь здесь ...

1 Ответ

2 голосов
/ 27 мая 2010
var addins = AddInStore.FindAddIns(typeof(AddInHostView), addInRoot);
foreach (var addin in addins)
{
    var addinInstance = addin.Activate<AddInHostView>(AddInSecurityLevel.FullTrust);

    // snip
    // do stuff
    // snip
}

С этим кодом (я понимаю, что FullTrust - это плохо, но для моего приложения это необходимо), я могу указать отдельный app.config (названный так же, как сборка Addin) в каждом каталоге.

\AddIns
 \AddIn1
   AddIn1.dll
   AddIn1.dll.config
...