2009-11-13 3 views
2

У нас есть ситуация, когда у нас будет две надстройки Outlook VSTO, которые начинаются с какого-то общего общего кода, но общий код, вероятно, будет расходиться со временем. В идеале мы хотели бы перестроить надстройки, чтобы разделить общий код на отдельную общую dll, но по нетехническим причинам это сейчас не вариант. Какие проблемы вы ожидаете, если обе надстройки будут развернуты в одном экземпляре outlook? Вы видите проблемы, возникающие из-за того, что будут два класса с одним и тем же именем и одним и тем же пространством имен, но с разными определениями, загружаемыми двумя разными надстройками в один и тот же экземпляр outlook? Также одна из надстроек должна вызывать форму в другой надстройке. Считаете ли вы, что это будет проблемой с различиями в общем коде?Общий код между двумя Outlook VSTO addins

Предполагая, что нам удастся реструктурировать надстройки для выделения DLL со всем распространенным кодом, будет ли у Outlook проблема с разными версиями той же DLL, развернутой двумя различными надстройками?

ответ

2

Мой текущий проект осуществлял аналогичный обмен кодами между надстройками VSTO для Word. На данный момент мы используем ссылки на другой проект с «copy local» во время компиляции, но хотели бы переключить это, чтобы ссылаться на общий код вне GAC, поэтому мы освобождаемся от сценария построения общего компонента, требующего перестройки всех проектов, которые зависят от него.

Если все ваши библиотеки библиотеки общего доступа «скопированы локально» во время сборки, у вас не должно быть конфликтов имен и имен, но вам потребуется перестроить надстройку, когда изменяется код общей библиотеки. Если вы хотите, чтобы сборки обрабатывались отдельно, создайте надстройку, которая будет служить в качестве библиотеки, которая устанавливает собственную копию в GAC, чтобы другие надстройки могли ее использовать. Я включил некоторые ссылки, которые показывают, как вызывать код из других надстроек. На практике я нашел это немного глупым из-за того, что VSTO был .Net поверх собственного кода Office.

Ссылки:

Смежные вопросы