COM: OLE Viewer не может создать экземпляр класса
Вопрос
Используя 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.