Раннее связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET
Ранне-связываемые клиенты на основе модели компонентных объектов Microsoft (СОМ) обычно используют информацию библиотеки типов для доступа к компонентам на основе модели компонентных объектов Microsoft (COM). Такая информация представляет собой удобный способ создания экземпляров классов на основе модели компонентных объектов Microsoft (COM), определенных в этих компонентах, созданных на основе модели компонентных объектов Microsoft (COM). Информация а библиотеках может храниться в файлах TLB, динамически подключаемых библиотеках (DLL), специализированных управляющих элементах OLE (OCX) и исполняемых файлах, однако только файлы TLB специально предназначены именно для этой цели.
Библиотека типов может быть сгенерирована с помощью утилиты Tlbexp.exe (Assembly to Type Library Converter – Конвертер сборки в библиотеку типов) из метаданных в сборке .NET. Это позволяет клиентам на основе модели компонентных объектов Microsoft (СОМ) просматривать компоненты .NET так, как будто они являются обычными компонентами, построенными на основе модели компонентных объектов Microsoft (COM).
Утилита Tlbexp.exe (Assembly to Type Library Converter – Конвертер сборки в библиотеку типов) является дополняющей сервисной программой к утилите Tlbimp.exe, описанной в предыдущем разделе этой главы. Традиционный клиент на основе модели компонентных объектов Microsoft (COM) может использовать информацию в полученной библиотеке типов для доступа к компонентам .NET, применяя раннее связывание. Ниже приведен синтаксис для вызова утилиты командной строки Tlbexp.exe (Assembly to Type Library Converter – Конвертер сборки в библиотеку типов):
Tlbexp AssemblyName [options] Where options may be composed of the following: /out:FileName Output typelib file name /nologo Prevents displaying logo /silent Prevents displaying messages /verbose Displays extra information /? or /help Display usage help message
Вот более русифицированный вариант этой выдачи:
Tlbexp AssemblyName [параметры] Где параметры могут быть составлены из следующего: /out:FileName Имя файла выходной библиотеки типов /nologo Подавляет вывод протокола / silent (тихий) Подавляет отображение сообщений / verbose (подробная) Дополнительная информация /? или /help (помощь) Вывести сообщение – справку по использованию
Утилита Tlbexp.exe (Assembly to Type Library Converter – Конвертер сборки в библиотеку типов) является хорошим средством генерации полезной информации библиотеки типов для сборки .NET. Однако клиентам на основе модели компонентных объектов Microsoft (COM) необходима также запись информации в системный реестр для того, чтобы среда модели компонентных объектов Microsoft (COM) могла найти нужную фабрику классов, путь к серверу, и т.п.
Утилита регистрации сборки Regasm.exe (Assembly Registration Utility) прочитывает метаданные в сборке и добавляет необходимые записи в системный реестр, что позволяет клиентам на основе модели компонентных объектов Microsoft (COM) использовать компоненты сборки .NET так, как будто они являются обычными зарегистрированными компонентами, построенными на основе модели компонентных объектов Microsoft (COM). Конечно, клиенты при этом используют заместитель – вызываемый упаковщик на основе модели компонентных объектов Microsoft (COM) (Callable COM Wrapper, CCW).
Синтаксис вызова утилиты регистрации сборки Regasm.exe приведен ниже. Эта утилита позволяет программам клиентов на основе модели компонентных объектов Microsoft (СОМ) создавать экземпляры управляемых классов, определенных в сборке.
Regasm AssemblyPath [options] Where the options may be any of the following, /unregister Unregister types /tlb[:FileName] Specified typelib /regfile[:FileName] Specified output reg file name /codebase Sets the code base in the registry /registered Only refer to preregistered typelibs /nologo Prevents displaying logo /silent Prevents displaying of messages /verbose Displays extra information /? or /help Display usage help message
Вот более русифицированный вариант этой выдачи:
Regasm AssemblyPath [параметры] Где параметры могут быть любыми из следующих. /unregister Отменить регистрацию типов /tlb[:FileName] Указанный файл библиотеки типов /regfile[:FileName] Указанное имя выходного файла /codebase (кодовая страница) Устанавливает кодовую страницу в системном реестре /registered (зарегистрированный) Обращаться только к предварительно зарегистрированным библиотекам типов /nologo Предотвращает вывод протокола /silent (тихий) Предотвращает отображение сообщений /verbose (подробно) Выводит дополнительную информацию /? или /help (помощь) Вывести сообщение – справку по использованию