Один экземпляр библиотеки C # в разных процессах - PullRequest
0 голосов
/ 10 августа 2011

Я создал проект C # .Net WinForms, который использует несколько библиотек, которые я тоже создал. Сейчас я создаю оболочку COM и хочу использовать те же библиотеки из файла Excel через VBA. Но я не хочу, чтобы Excel создал новый экземпляр библиотеки. Мне нужно использовать тот же экземпляр библиотек, которые загружены проектом WinForms. Пожалуйста, предложите способ.

WinForm App 
|- Library1.dll
|- Library2.dll 
. 
Excel
|-ComWrapper
|-Library1.dll 
|-Library2.dll

Я попытался объяснить текущую ситуацию схематично. В приведенном выше случае два экземпляра Library1.dll и library2.dll будут созданы при вызове из разных процессов. Мне нужно иметь только один экземпляр library1.dll и library2.dll в памяти.

1 Ответ

0 голосов
/ 10 августа 2011

Единственный доступный способ добиться этого - зарегистрировать оболочку COM как объект COM + и настроить его как «Серверное приложение» на вкладке «Активация».Затем вам нужно использовать этот объект COM + как в приложении winforms, так и в файле Excel.

...