Ensamblados mixtos (nativos y administrados)
Actualización: noviembre 2007
Los ensamblados mixtos son capaces de contener tanto instrucciones máquina no administradas como instrucciones MSIL. Esto les permite llamar y ser llamados por componentes .NET, a la vez que conservan la compatibilidad con componentes totalmente no administrados. Mediante ensamblados mixtos, los desarrolladores pueden crear aplicaciones con una combinación de funcionalidad administrada y no administrada. Esto crea ensamblados mixtos ideales para migrar aplicaciones existentes de Visual C++ a la plataforma .NET.
Por ejemplo, una aplicación existente que sólo consta de funciones no administradas se puede llevar a la plataforma .NET volviendo a compilar sólo un módulo con el modificador de compilación /clr. Este módulo puede utilizar las características de .NET pero sigue siendo compatible con el resto de la aplicación. De esta manera, una aplicación se puede convertir a la plataforma .NET de un modo gradual, por partes. Incluso es posible decidir entre compilación administrada y no administrada por funciones dentro del mismo archivo (vea managed, unmanaged).
Visual C++ 2005 admite la generación de tres tipos distintos de ensamblados administrados: mixto, puro y comprobable. Los dos últimos se explican en Código puro y comprobable.
En esta sección
Cómo: Migrar a /clr
Describe los pasos recomendados para introducir o actualizar la funcionalidad de .NET en la aplicación.Cómo: Compilar código de MFC y ATL con /clr
Explica cómo compilar los programas MFC y ATL existentes para utilizarlos en Common Language Runtime.Inicialización de ensamblados mixtos
Describe el problema del "bloqueo del cargador" y soluciones.Cómo: Quitar dependencias en _vcclrit.h
Describe cómo revertir la solución de bloqueo del cargador recomendada para Visual C++ 2003.Compatibilidad con bibliotecas para ensamblados mixtos
Explica cómo utilizar bibliotecas nativas en compilaciones /clr.Consideraciones de rendimiento para la interoperabilidad (C++)
Describe las implicaciones de rendimiento de los ensamblados mixtos y el cálculo de referencias de datos.Dominios de aplicación y Visual C++
Explica la compatibilidad de Visual C++ para dominios de aplicación.Doble thunk (C++)
Trata de las implicaciones de rendimiento de un punto de entrada nativo para una función administrada.Evitar excepciones al cerrar CLR cuando se utilizan objetos COM generados con /clr
Explica cómo garantizar un apagado correcto de una aplicación administrada que utiliza un objeto COM compilado con /clr.Cómo: Crear una aplicación de confianza parcial quitando la dependencia de la DLL de la biblioteca CRT
Explica cómo crear una aplicación de Common Language Runtime que no es de plena confianza mediante Visual C++, quitando la dependencia de msvcm90.dll.
Para obtener más información sobre cómo codificar instrucciones para ensamblados mixtos, vea el artículo de MSDN "An Overview of Managed/Unmanaged Code Interoperability" en https://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/manunmancode.asp.