Смешанные (собственные и управляемые) сборки
Обновлен: Ноябрь 2007
Смешанные сборки могут содержать как инструкции неуправляемого машинного кода, так и инструкции языка MSIL. Это позволяет им вызывать и быть вызванными компонентами .NET и при этом оставаться совместимыми с полностью неуправляемыми компонентами. С помощью смешанных сборок разработчики могут создавать приложения, используя сочетание функциональных возможностей управляемого и неуправляемого кода. Благодаря этому смешанные сборки являются идеальными для переноса существующих приложений Visual C++ на платформу .NET.
Например, существующее приложение, состоящее только из неуправляемых функций, может быть перенесено на платформу .NET путем повторной компиляции только одного модуля с помощью переключателя компилятора /clr. Затем этот модуль сможет использовать возможности .NET, оставаясь совместимым с оставшейся частью приложения. Таким образом, приложение может быть преобразовано для работы с платформой .NET постепенно, часть за частью. Также можно выбирать управляемую или неуправляемую компиляцию для каждой функции в одном файле (см. раздел managed, unmanaged).
В Visual C++ 2005 поддерживается создание трех различных типов управляемых сборок: смешанных, чистых и проверяемых. Последние два типа рассматриваются в разделе Чистый и проверяемый код.
Содержание
Практическое руководство. Переход на /clr
Описание рекомендуемых действий по введению или обновлению функций .NET в приложении.Практическое руководство. Компиляция кода MFC и ATL с помощью параметра /clr
Способы компиляции существующих программ MFC и ATL для применения в среде CLR.Инициализация смешанных сборок
Описание проблемы блокировки загрузчика и ее решение.Практическое руководство. Удаление зависимости от _vcclrit.h
Предпочтительные способы восстановления решения проблемы блокировки загрузчика в Visual C++ 2003.Поддержка библиотек для смешанных сборок
Использование собственных библиотек в компиляциях с помощью /clr.Вопросы производительности взаимодействия (C++)
Описание влияния смешанных сборок и маршалинга данных на производительность.Домены приложений и Visual C++
Поддержка доменов приложения в Visual C++.Двойное преобразование (С++)
Описание воздействия собственной точки входа управляемой функции на производительность.Способы избегания исключений во время завершения работы среды CLR при использовании COM-объектов, построенных с помощью /clr
Описание правильного завершения работы управляемого приложения, использующего COM-объект, скомпилированный с помощью /clr.Практическое руководство. Создание приложения с частичным доверием путем удаления зависимости от библиотеки DLL CRT
Создание приложения среды CLR с частичным доверием на языке Visual C++ путем удаления зависимости от библиотеки Msvcm90.dll.
Дополнительные сведения о правилах кодирования для смешанных сборок см. в статье "Общие сведения о взаимодействии управляемого и неуправляемого кода" в документации MSDN по адресу https://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/manunmancode.asp.