Смешанные (собственные и управляемые) сборки
Смешанные сборки могут содержать как инструкции неуправляемого машинного кода, так и инструкции языка MSIL. Это позволяет им вызывать и быть вызванными компонентами .NET и при этом оставаться совместимыми с полностью неуправляемыми компонентами. С помощью смешанных сборок разработчики могут создавать приложения, используя сочетание функциональных возможностей управляемого и неуправляемого кода. Благодаря этому смешанные сборки являются идеальными для переноса существующих приложений Visual C++ на платформу .NET.
Например, существующее приложение, состоящее только из неуправляемых функций, может быть перенесено на платформу .NET путем повторной компиляции только одного модуля с помощью переключателя компилятора /clr. Затем этот модуль сможет использовать возможности .NET, оставаясь совместимым с оставшейся частью приложения. Таким образом, приложение может быть преобразовано для работы с платформой .NET постепенно, часть за частью. Также можно выбирать управляемую или неуправляемую компиляцию для каждой функции в одном файле (см. раздел managed, unmanaged).
В Visual C++ поддерживается создание трех различных типов управляемых сборок: смешанных, чистых и проверяемых. Последние два типа рассматриваются в разделе Чистый и проверяемый код (C++/CLI).
Содержание
Практическое руководство. Переход на /clr
Описание рекомендуемых действий по введению или обновлению функций .NET в приложении.Практическое руководство. Компиляция кода MFC и ATL с помощью параметра /clr
Описание порядка компиляции существующих программ MFC и ATL для применения в среде CLR.Инициализация смешанных сборок
Описание проблемы блокировки загрузчика и ее решение.Поддержка библиотек для смешанных сборок
Использование собственных библиотек в компиляциях с помощью /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/dndotnet/html/manunmancode.asp.