Настройка вызываемых оболочек времени выполнения
Среда CLR создает вызываемую оболочку времени выполнения из методанных сборки взаимодействия. В отличие от других сборок, сборки взаимодействия создаются путем импорта библиотек типов. Хотя в процессе импорта обычно создаются точные сборки взаимодействия, существуют случаи, когда можно (или нужно) изменить сборку взаимодействия для создания настраиваемой вызываемой оболочки времени выполнения.
Настройка вызываемой оболочки времени выполнения может потребоваться по ряду причин, например следующих:
Для одного или нескольких типов требуютcя дополнительные сведения о маршалинге.
Библиотека типов содержит много специализированных типов, не распознаваемых упаковщиком.
Большая библиотека типов может содержать типы, не требующиеся приложению. Необходимость развертывания ненужных типов можно устранить путем создания сборки взаимодействия из управляемого исходного кода.
Наличие исходного кода вызываемой оболочки времени выполнения, содержащего часть типов в большой библиотеке типов может устранить необходимость развертывания ненужных типов.
Как показано на следующем рисунке, импортировать библиотеку типов в виде управляемых библиотек DLL можно без настройки оболочки (показано слева). Либо же можно создать настраиваемую оболочку.
Сведения о маршалинге в импортированных библиотеках типов
Если требуется настроить вызываемую оболочку времени выполнения с использованием дополнительных или других инструкций маршалинга, возможны два варианта:
Редактирование сборки взаимодействия, выполняющее поиск проблем синтаксиса и замены их альтернативным синтаксисом. Этот вариант лучше подходит для небольших изменений маршалинга.
Создание оболочки вручную, на основе существующего файла языка определения интерфейса (IDL) или библиотеки типов. Объявление COM-типов вручную — достаточно сложная задача, для которой требуется практическое знание программы импорта библиотеки типов (Tlbimp.exe), стандартного поведения egfrjdobrf взаимодействий и модели COM. Такой подход лучше всего использовать, имея полную библиотеку специализированных типов или необходим исходный код вызываемой оболочки времени выполнения.
См. также
Задачи
Практическое руководство. Редактирование сборок взаимодействия
Практическое руководство. Создание оболочек вручную
Основные понятия
Настройка вызываемых оболочек COM