#c_sharp #net #visual_studio #dll #visual_studio_2012
Для работы программы необходим Microsoft.Office.Interop.Word.dll. На некоторых ПК он может отсутствовать, поэтому решил, что следует поместить его в папку с программой. Подключаю его через ссылки (reference) и на моём ПК всё работает. Однако, расположение библиотеки указывается полностью и на другом ПК придётся поместить его в ту же папку. Собственно, как подключать библиотеку, чтобы при выполнении она бралась из папки, где находится exe файл? Разбираться с тем, как организовать установку на пользовательском ПК нет времени (да и нужды).
Ответы
Ответ 1
Указать в свойствах референса CopyLocal = True. Но обратите внимание на замечание @pavelip -- чтобы работала интеграция с Вордом, прежде всего на компьютере д.б. установлен Ворд.Ответ 2
Сборка Microsoft.Office.Interop.Word.dll - это всего лишь обертка вокруг COM объектов MS Word. Для правильной работы на другом ПК должен быть установлен MS Word.Ответ 3
Полный путь в reference - это информация для студии и компилятора. В самом exe библиотека будет подключена по имени - Microsoft.Office.Interop.Word. При запуске среда будет искать ее в стандартных местах, в том числе и в папке приложения. При выставленном на референсе CopyLocal = True (по умолчанию) студия скопирует dll в папку с exe, так что вам достаточно будет просто скопировать на пользовательский ПК всю папку целиком.Ответ 4
dll по-умолчанию сначала ищется в папке с exe и только если её там нет в папке windows, а если и там нет то начинает поиск по папкам из глобальной переменной PATH
Комментариев нет:
Отправить комментарий