Створення і реєстрація com-об’єкта з net-збірки, алексей алексєєв

Зробити NET-складання видимої як COM-об'єкт великих труднощів не становить, проте є кілька неочевидних моментів, які можуть відібрати достатню кількість часу.

Відразу варто зауважити, що для цікавляться даною темою докладно і суворо дотримується порекомендувати книгу А Дубовцева "Microsoft.NET Найбільш повне керівництво", в якій детально викладено даний процес, а також інші вельми корисні речі. У даній же процес буде описаний коротко.

Створення і реєстрація com-об'єкта з net-збірки, алексей алексєєв

Після в проекті можна створювати будь-які класи, що реалізують необхідну логіку. Однак ж для коректного відображення в просторі COM-об'єктів необхідно призначити кожному класу атрибути. Перерахуємо їх:

Так само бажано підписати всю збірку суворим ім'ям (з тієї причини, що вона поміщається в GAC в обов'язковому порядку), зробити це можна за допомогою атрибута

Природно, пара ключів повинна бути створена заздалегідь.

Варто відзначити, що файл маніфесту так само повинен містити атрибут

ComVisible (true) приблизно в такому вигляді:

Варто нагадати, що всі експортовані класи повинні містити конструктор за замовчуванням. Якщо у класу такого не буде, як COM-об'єкт він не зареєструється!

Опишемо процес реєстрації. Взагалі кажучи існують різні шляхи, зареєструвати збірку як СОМ-об'єкт, тут опишемо найпростіший. Створимо bat-файл такого змісту:

Перевірити, чи зареєстровані класи збірки в якості COM-об'єктів можна за допомогою пошуку відповідних записів в реєстрі або за допомогою утиліти oleview.exe, як це показано нижче

Створення і реєстрація com-об'єкта з net-збірки, алексей алексєєв

Збірка з ім'ям nlbrd в реєстрі, показано запис для клаксса BRIDGE.

Створення і реєстрація com-об'єкта з net-збірки, алексей алексєєв

Те ж саме але в oleview.exe

Якщо всі зазначені пункти виконані вірно, NET-збірка тепер буде одночасно і СОМ-об'єктом.

Немає схожих статей.