COM: OLE Viewer не может создать экземпляр класса

StackOverflow https://stackoverflow.com/questions/1405394

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Изменить:

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

Это было полезно?

Решение 2

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top