Ошибка создания класса объектов: невозможно создать COM-компонент расширения класса объекта. - PullRequest
0 голосов
/ 18 февраля 2019

Я работаю с ArcGIS 10.5, установлен на месте и разрабатываю наш класс объектов в .NET.

У меня проблема с регистрацией классов объектов.Мы создали класс объектов и зарегистрировали DLL через «ESRIRegAsm.exe», и он отображается в ArcCatalog:

Триггерное изображение

Trigger appearing image

Но когда я пытаюсь создать класс объектов, я получаю следующую ошибку:

Не удалось создать класс объектов.Невозможно создать расширение класса объекта COM-компонент

Failed to create feature class. Unable to create object class extension COM Component

К сожалению, это не очень полезно.

Странная вещьв том, что у нас есть другой триггер, зарегистрированный в другом классе объектов, который работает как ожидалось.И новый триггер основан на копии старого кода триггера (с измененными GUID).

Шаги, которые я сделал до сих пор:

  1. Я пыталсядобавьте класс пространственных объектов в категорию компонентов с помощью category.exe.

  2. Зарегистрируйте его с помощью ESRIRegAsm.exe как для рабочего стола, так и для Engine.Проверено, что есть файлы конфигурации .ecfg - и есть.

  3. Проверено, что CLSID появляются в реестре Windows.

Необходимые частинашего исходного кода триггера можно найти здесь: здесь .

Любая помощь будет принята с благодарностью, так как мы застряли на этом.

1 Ответ

0 голосов
/ 08 мая 2019

Наша проблема заключалась в том, что в коде были неверные идентификаторы.ClassExtensionCLSID должен возвращать тот же идентификатор, что и TriggerExtension.

Кроме того, InstanceCLSID должен всегда возвращать 52353152-891A-11D0-BEC6-00805F7C4268 и, следовательно, не должен получать новый идентификатор.

...