Ejecutar código

Common Language Runtime proporciona la infraestructura que permite que la ejecución administrada tenga lugar, así como una gran cantidad de servicios que se pueden utilizar durante la ejecución. Para poder ejecutar un método, primero se debe compilar a código específico del procesador. Los métodos para los que se genera el Lenguaje intermedio de Microsoft (MSIL) se compilan mediante un compilador JIT cuando se les llama por primera vez y, a continuación, se ejecutan. La próxima vez que se ejecuta el método, se ejecuta el código nativo existente resultante de la compilación JIT. El proceso de compilación JIT y, a continuación, la ejecución de código se repiten hasta completar la ejecución.

Durante la ejecución, el código administrado recibe servicios como la recolección de elementos no utilizados, seguridad, interoperabilidad con código no administrado, compatibilidad de depuración entre lenguajes diferentes y compatibilidad mejorada con el control de versiones y la implementación.

En Microsoft Windows XP, el cargador del sistema operativo comprueba los módulos administrados examinando un bit en el encabezado de formato COFF (Common Object File Format). El bit que se establece indica un módulo administrado. Si el cargador detecta módulos administrados, cargará mscoree.dll, y _CorValidateImage así como _CorImageUnloading notifican al cargador cuándo se han cargado y descargado las imágenes de los módulos administrados. _CorValidateImage realiza las siguientes acciones:

  1. Garantiza que el código es código administrado válido.

  2. Cambia el punto de entrada en la imagen a un punto de entrada en el motor en tiempo de ejecución.

En Windows de 64 bits, _CorValidateImage modifica la imagen que está en la memoria transformando el formato PE32 en PE32+.

Vea también

Conceptos

Proceso de ejecución administrada

Otros recursos

Seguridad en .NET Framework
Interoperar con código no administrado
Implementar aplicaciones de .NET Framework