Поделиться через


Импорт библиотеки типов в виде сборки

Обновлен: Ноябрь 2007

Определения COM-типов обычно хранятся в библиотеке типов. С другой стороны, CLS-совместимые компиляторы создают в сборке метаданные типов. Эти два источника сведений о типе заметно отличаются.

xwzy44e4.alert_note(ru-ru,VS.90).gifПримечание.

По возможности следует использовать основную сборку взаимодействия, опубликованную автором COM-компонента, который разработчик планирует интегрировать в управляемый программный код. Типы в основной сборке взаимодействия уже импортированы и готовы для активации и вызова из управляемого кода. Сведения о создании и использовании основных сборок взаимодействия см. в разделе Основные сборки взаимодействия.

В этом разделе описываются способы создания метаданных из библиотеки типов. Результирующая сборка и называется сборкой взаимодействия.

Создание метаданных

Библиотеки COM-типов могут быть автономными файлами TLB, например Loanlib.tlb. Некоторые библиотеки типов встроены в раздел ресурсов файла DLL или EXE. Другими источниками данных библиотек типов являются файлы OLB и OCX.

После нахождения библиотеки типов, содержащей реализацию искомого COM-типа, для создания сборки взаимодействия, содержащей метаданные типа, разработчик может выбрать нужный из нескольких вариантов.

  • Visual Studio 2005

    Visual Studio 2005 автоматически преобразует COM-типы библиотеки типов в метаданные сборки. Инструкции см. в разделе Практическое руководство. Добавление ссылок на библиотеки типов.

  • Программа экспорта библиотек типов (Tlbexp.exe)

    Программа экспорта библиотек типов предоставляет параметры командной строки для настройки метаданных в результирующем файле взаимодействия, импортирует типы из существующей библиотеки типов и создает сборку взаимодействия и пространство имен. Инструкции см. в разделе Практическое руководство. Создание сборок взаимодействия их библиотек типов.

  • Класс TypeLibConverter

    Класс TypeLibConverter (в пространстве имен System.Runtime.InteropServices) предоставляет методы преобразования компонентных классов и интерфейсов в библиотеке типов в метаданные сборки. Этот класс API создает те же метаданные, что и программа Tlbimp.exe. Но в отличие от программы Tlbimp.exe класс TypeLibConverter может преобразовать в метаданные библиотеку типов, находящуюся в памяти.

  • Настраиваемые оболочки

    Если библиотека типов недоступна или является неверной, единственный выход — создать в управляемом исходном коде дубликат определения класса или интерфейса. После этого нужно скомпилировать исходный код с помощью компилятора, который обращается к среде выполнения, чтобы создать метаданные в сборке.

    Чтобы определить COM-типы вручную, необходим доступ к следующим элементам:

    • точные описания определяемых компонентных классов и интерфейсов;

    • компилятор, например, компилятор C#, который может создавать соответствующие определения классов .NET Framework;

    • сведения о правилах преобразования библиотек типов в сборки.

    Написание настраиваемой оболочки — это сложная и редко используемая процедура. Дополнительные сведения о создании настраиваемой оболочки см. в разделе Настройка стандартных оболочек.

Дополнительные сведения о процессе импорта COM-взаимодействия см. в разделе Обзор преобразования библиотек типов в сборки.

См. также

Задачи

Практическое руководство. Добавление ссылок на библиотеки типов

Практическое руководство. Создание сборок взаимодействия их библиотек типов

Основные понятия

Предоставление клиентам .NET Framework доступа к COM-компонентам

Настройка стандартных оболочек

Использование COM-типов в управляемом коде

Компиляция проекта, использующего взаимодействие

Развертывание приложения взаимодействия

Ссылки

Программа импорта библиотек типов (Tlbimp.exe)

TypeLibConverter

Другие ресурсы

Обзор преобразования библиотеки типов в сборку