Упаковка сборки для модели COM

Разработчики 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-приложения

Ссылки

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

TypeLibConverter

ITypeLibConverter

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

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

Уточнение типов .NET для взаимодействия

Введение в интерфейс класса

Вопросы безопасности сборок

Регистрация сборок в COM