Упаковка сборки для модели COM
Обновлен: Ноябрь 2007
Разработчики COM могут воспользоваться приводящимися ниже сведениями об управляемых типах, которые они собираются включить в свои приложения:
Перечень типов, которые могут использовать COM-приложения
Некоторые управляемые типы невидимы для модели COM, некоторые видимы, но COM не может их создавать, а некоторые являются видимыми и COM может их создавать. Сборка может содержать любое сочетание невидимых, видимых, несоздаваемых и создаваемых типов. Для полноты представления рекомендуется идентифицировать в сборке типы, доступ к которым требуется предоставить модели COM, особенно когда эти типы являются подмножеством типов, предоставляемых для .NET Framework.
Дополнительные сведения см. в разделе Уточнение типов .NET для взаимодействия.
Инструкции по отслеживанию версий.
Управляемые классы, реализующий интерфейс класса (интерфейс, создаваемый COM-взаимодействием), подчиняются ограничениям отслеживания версий.
Рекомендации по применению интерфейсов классов см. в разделе Введение в интерфейс класса.
Инструкции по развертыванию
Сборки со строгими именами, подписанные издателем, могут быть установлены в глобальный кэш сборок. Неподписанные сборки должны быть установлены на компьютере пользователя как закрытые сборки.
Дополнительные сведения см. в разделе Вопросы безопасности сборки.
Включение библиотеки типов
Большинство типов, используемых в COM-приложении, требует наличия библиотеки типов. Библиотеку типов можно либо создать заранее, либо предоставить выполнить эту задачу разработчикам COM-приложений. SDK (пакет средств разработки программного обеспечения) для Windows предоставляет следующие возможности создания библиотеки типов:
Программа экспорта библиотек типов
Класс TypeLibConverter
Средство регистрации сборок
Средство установки служб .NET
Независимо от выбранного механизма в создаваемую библиотеку типов включаются только открытые типы, определенные в предоставленной сборке.
Библиотеку типов можно упаковать в отдельный файл или встроить как файл ресурсов Win32 в .NET-приложение. Microsoft Visual Basic 6.0 выполняет эту задачу автоматически. Но при использовании Microsoft Visual Basic 2005 библиотеку типов придется встроить вручную. Инструкции см. в разделе Практическое руководство. Библиотеки типов, встроенные в приложения .NET как ресурсы Win32.
Программа экспорта библиотек типов
Программа экспорта библиотек типов (Tlbexp.exe) является средством командной строки, преобразующим классы и интерфейсы, содержащиеся в сборке, в библиотеку COM-типов. После того, как сведения о типах класса становятся доступны, COM-клиенты могут создавать экземпляры класса .NET и вызывать методы экземпляра так же, как если бы это был COM-объект. Tlbexp.exe выполняет преобразование сразу всей сборки. Программу Tlbexp.exe нельзя использовать с целью генерации сведений о типах для подмножества типов, определенных в сборке.
Класс TypeLibConverter
Класс TypeLibConverter, находящийся в пространстве имен System.Runtime.Interop, преобразует классы и интерфейсы, содержащиеся в сборке, в библиотеку COM-типов. Этот интерфейс API создает те же сведения о типе, что и программа экспорта библиотек типов, описанная в предыдущем разделе.
Класс TypeLibConverter реализует интерфейс ITypeLibConverter.
Средство регистрации сборок
Программа регистрации сборок (Regasm.exe) может создавать и регистрировать библиотеку типов, когда разработчик применяет параметр /tlb:. Для работы COM-клиентов требуется, чтобы библиотеки типов были установлены в системном реестре Windows. Без этого параметра программа Regasm.exe регистрирует только типы в сборке, но не библиотеку типов. Регистрация типов сборки и регистрация библиотеки типов — это разные операции.
.Средство установки служб .NET
Программа установки служб .NET (Regsvcs.exe) добавляет управляемые классы к службам компонентов Windows 2000 и объединяет несколько задач в одном инструменте. Кроме загрузки и регистрации сборки, программа Regsvcs.exe может создавать, регистрировать и устанавливать библиотеки типов в существующие приложения COM+ 1.0.
См. также
Задачи
Практическое руководство. Встраивание библиотек типов как ресурсов Win32 в .NET-приложения
Основные понятия
Предоставление COM-клиентам доступа к компонентам .NET Framework
Уточнение типов .NET для взаимодействия