FileNotFoundException при использовании сборки Interop (даже если файл существует) - PullRequest
0 голосов
/ 03 августа 2011

Я пытаюсь автоматизировать действия с некоторыми внутренними элементами управления браузером ActiveX.

Я добавил ссылку на тип COM в своем коде C #, который автоматически генерирует Interop.AssemblyName.dll

2 недели назад, когда я тестировал это, это работало как чудо, однако при попытке получить тот же код теперь происходит сбой FileNotFoundException при попытке получить ссылку на какой-либо тип, найденный в сборке взаимодействия.

Как я могу отследитьназад точно, что является источником ошибки?файл Interop существует прямо рядом с exe моего тестового приложения.

Что еще мне нужно искать?

Есть ли хорошее руководство по взаимодействию и проблемам такого рода?

Ответы [ 2 ]

0 голосов
/ 20 августа 2013

У меня была эта проблема с классом WMI, который я создал и подключил к COM-объекту для получения информации.WMI записал в журнал событий, что файл взаимодействия для COM-объекта не может быть найден.

Я разрешил его так же, как сказал Крис Б. Беренс: захват всего дискового ввода-вывода при генерации исключения и посмотрите, где он ищетдля и не удалось найти файл взаимодействия.

... И да, мой файл взаимодействия все время находился рядом с моим основным приложением, однако этот каталог не был одним из мест поиска, когда система пыталасьНайди это.Странно.

Я скопировал файл взаимодействия в C: \ Windows \ System32 \ wbem, и он волшебным образом начал работать (Windows XP x86).

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

Это выглядит не в том месте ... месте, отличном от того, которое вы ожидаете. Простейший способ отследить это - взглянуть на детали Исключения, но если это не так, я бы использовал Process Monitor от Sysinternals, чтобы точно отследить, что происходит.

...