COM: OLE Viewer не может создать экземпляр класса - PullRequest
1 голос
/ 10 сентября 2009

Используя OLE / COM Viewer, я получаю следующую ошибку (при расширении моего зарегистрированного класса)

CoGetClassObject failed.
<No system message defined> severity: SEVERITY_ERROR, facility:
<Unknown Facility> ($80131522)

Класс COM - это класс C #, зарегистрированный в RegAsm.

Что означает эта ошибка?

Edit:

См. http://www.dotnet247.com/247reference/msgs/24/124704.aspx для аналогичной проблемы.

Ответы [ 2 ]

1 голос
/ 10 сентября 2009

Отсутствует ли зависимая сборка в папке bin зарегистрированной сборки COM? Или зависимая сборка, которая должна быть в GAC, которая на самом деле отсутствует в GAC?

Вы также можете решить проблему, используя ключ / codebase, который добавит запись реестра, указывающую на местоположение вашей сборки.

Вы также можете узнать больше, используя fuslogvw , чтобы увидеть, что происходит, когда ваши сборки .NET связаны с OLE Viewer.

0 голосов
/ 14 сентября 2009

Нашел проблему:

Просматривая журналы fuslogvw, я узнал, что OleViewer ищет любую сборку в той же папке, что и OleViewer.exe, которая соответствует сборке, которую он ищет (!). Случайно у меня была старая версия моей сборки в папке, из которой я запускал OleViewer. Так что мне нужно было скопировать OleViewer.exe в папку, где была зарегистрирована моя сборка. Странно, но это правда!

...