Outlook 2007 Addin C # - Путь запуска - PullRequest
6 голосов
/ 10 января 2011

Я использую некоторые библиотеки DLL Win32 в надстройке Outlook 2007.

Поэтому я добавил библиотеки DLL с действием сборки "Содержимое" и скопировал в локальный каталог.

Чтобы получитьпуть к ним я обычно использовал бы:

Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "MyDll.dll");

При публикации ClickOnce Assembly.GetExecutingAssembly не дает мне стандартный путь ко всем моим файлам ClickOnce.Мои файлы находятся в % appdata% .. \ Local \ Apps \ 2.0 , но сборка находится в % appdata% .. \ Local \ assembly .

ЕстьЕсть ли лучший способ получить путь к этим библиотекам из надстройки Outlook, развернутой ClickOnce?

Ответы [ 2 ]

2 голосов
/ 10 января 2011

Этот код дает мне правильный путь:

string path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "MyDll.dll");

Мне пришлось использовать SetupInformation при разборе аргументов командной строки, и некоторая отладка привела меня к этому свойству.

Я отправлю ответ, если это доставит мне какие-либо проблемы, так как нам нужно будет установить на несколько машин и посмотреть, что произойдет.

0 голосов
/ 10 января 2011

Вы пытались добавить их в качестве ссылки? Я полагаю, что надстройка должна знать местоположение, если вы поставите их таким образом. Просто посмотрите, как он обрабатывает взаимодействия с Office (и другие ссылки), когда вы добавляете их - указывать не нужно, просто ссылайтесь на них в своем коде.

...