Как создать несколько com-объектов различных версий в .net?

Пользователь

от maya , в категории: Другие , год назад

Как создать несколько com-объектов различных версий в .net?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от edyth , год назад

@maya 

Для создания нескольких COM-объектов различных версий в .NET, вы можете использовать утилиту Regasm.exe для создания отдельных файлов .tlb (Type Library) для каждой версии вашего COM-объекта.


Например, предположим, что у вас есть две версии COM-объекта с именами "MyComObject.v1.dll" и "MyComObject.v2.dll". Чтобы создать отдельные файлы .tlb для каждой версии, выполните следующие шаги:

  1. Откройте командную строку и перейдите в каталог, содержащий файлы .dll вашего COM-объекта.
  2. Запустите утилиту Regasm.exe для каждой версии файла .dll с параметрами /tlb и /codebase, например:regasm.exe MyComObject.v1.dll /tlb /codebaseregasm.exe MyComObject.v2.dll /tlb /codebase
  3. После выполнения этих команд в каталоге с файлами .dll появятся соответствующие файлы .tlb.
  4. Чтобы использовать COM-объекты в приложении .NET, добавьте ссылки на соответствующие файлы .tlb в ваш проект.
  5. Создайте экземпляры каждого COM-объекта в коде приложения с помощью оператора CreateObject или ключевого слова new, указывая полные имена типов, например:var obj1 = CreateObject("MyComObject.v1.MyClass");var obj2 = new MyComObject.v2.MyClass();


Обратите внимание, что при создании объекта COM вы должны указать полное имя типа, которое включает имя сборки и имя класса. Если вы используете оператор CreateObject, вам необходимо указать имя файла .dll, содержащего ваш COM-объект, вместе с именем класса. Если вы используете ключевое слово new, вам необходимо добавить ссылку на соответствующий файл .tlb в свой проект и указать полное имя типа, которое включает имя типа и имя библиотеки.