У меня есть служба Windows, которая должна использовать DLL-файл на сетевом диске. Когда я был подключен к этому сетевому диску, я добавил эту DLL в качестве ссылки на мою Windows-службу. Автоматически было добавлено еще 2 файла ссылки, добавив этот DLL-файл. В этой службе есть код, который просто создает экземпляр класса из dll. Хотя я отлаживаю этот код в Visual Studio 2010, когда я нажимаю F10 (Step Over), он выдает исключение:Служба Windows и Dll на сетевом диске
«Получение фабрики COM-класса для компонента с CLSID {65EB3876-89FF-459F-BF24-02E8DD7F2DB2} не удалось из-за следующей ошибки: 8007007e Указанный модуль не найден. (Исключение из HRESULT: 0x8007007E). "
Я использую те же DLL и те же коды в приложении Windows Forms для тестирования. Он не дает ошибок и создает экземпляр класса успешно.
Может быть, это связано с разрешением на сетевой диск?
Зарегистрировано ли CLSID? Найдите в нем реестр. Либо сетевая dll является COM-объектом, который необходимо зарегистрировать, либо ссылается на объект COM, который необходимо зарегистрировать. –
@Samuel Neff Я искал regedit для «65EB3876-89FF-459F-BF24-02E8DD7F2DB2». Да, он зарегистрирован. Нужно ли регистрировать другие две ссылки, которые были автоматически добавлены, когда я добавил DLL на сетевой диск в качестве ссылки? – caranhithion
Зарегистрировано ли оно с использованием UNC-пути или с помощью сопоставленной буквы диска? –