La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Los ensamblados y el código IL Contenido Módulo ¿Qué es un Ensamblado? El código MSIL.

Presentaciones similares


Presentación del tema: "Los ensamblados y el código IL Contenido Módulo ¿Qué es un Ensamblado? El código MSIL."— Transcripción de la presentación:

1

2 Los ensamblados y el código IL

3 Contenido Módulo ¿Qué es un Ensamblado? El código MSIL

4 Módulos En.NET Framework se llama Módulo a un archivo DLL o EXE. Contiene código en Lenguaje Intermedio (IL), metadatos y opcionalmente el manifiesto del Ensamblado (Assembly). Pueden ser de 2 tipos: -Archivos de Recursos. -Archivos de Código compilado.

5 Ensamblado Un ensamblado es la unidad mínima (primaria) de distribución, implantación y versionado en.NET Es autodescriptivo e independiente de la plataforma. Tiene extensión DLL o EXE (PE) Compuesto de un manifiesto y de uno o más módulos. Parecido al código ensamblador, pero de alto nivel. Todas las aplicaciones.NET generan código MSIL.

6 Assembly Metadata Código Compilado MSIL Recursos MiBiblioteca.DLL Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases NombreVersiónCultura Manifiesto del Assembly Otros Assemblies Permisos de Seguridad Tipos Externos

7 NETModule En.NET, existe un tercer tipo de archivo (que no es un ensamblado, sino parte de él). Se utiliza para conformar un solo ensamblado de varios archivos. Son archivos con extensión *.netmodule No se pueden utilizar directamente como ensamblados. Un módulo no es un ensamblado, sino sólo una pieza para formar uno.

8 Tipos de Ensamblados Assemby sencillo ResourcesResources MSILMSIL MetaDataMetaData ManifestManifest ThisAssembly.dllThisAssembly.dll ResourcesResources MSILMSIL MetaDataMetaData ManifestManifest ThisAssembly.dllThisAssembly.dll MSILMSIL MetadataMetadata A.netmoduleA.netmodule B.netmoduleB.netmodule Manifest (No Assembly Metadata) Manifest MSILMSIL MetadataMetadata Manifest Manifest Assembly complejo

9 Características de un Assembly Unidad de distribución Unidad de distribución  Uno o mas archivos independientemente del empaquetado ( packaging)  Auto descriptivo usando el metadata  Reflection Versionado Versionado  Capturada por el Compilador Frontera de Seguridad Frontera de Seguridad  Contienen permisos de ejecución  Seguridad basada en evidencias  Los métodos pueden demandar pruebas de permisos concedido para todo el proceso de ejecución.

10 Que es el Metadata? Describe a un assembly Identifica: Nombre, versión, Cultura, Llaves publicas Que tipos son exportados A que otros assemblys hace referencia Permisos que se necesitan para la ejecución Descripción de tipos Nombre, visibilidad, clases base, interfaces que implementa Miembros ( métodos, campos, propiedades, eventos, tipos anidados) Sentencias declarativas Atributos definido por el usuario Atributos definidos por el compilador Atributos definidos por el framework

11 Manifiest

12 Global Assembly Cache Cache a nivel máquina Cache a nivel máquina Almacena assemblies que deben ser compartidos por diferentes aplicaciones Almacena assemblies que deben ser compartidos por diferentes aplicaciones Instalar en GAC solo los assemblies que deben ser compartidos y mantener privados a los que no Instalar en GAC solo los assemblies que deben ser compartidos y mantener privados a los que no Para instalar en GAC un assembly Para instalar en GAC un assembly Utilizar un instalador Utilizar un instalador Utilizar la herramienta gacutil.exe Utilizar la herramienta gacutil.exe Utilizar el Windows Explorer para arrastrar los assemblies al cache Utilizar el Windows Explorer para arrastrar los assemblies al cache

13 Que son los AppDomains? Procesos lógicos dentro del CLR Corren dentro de un proceso del Sistema Operativo Un proceso del sistema operativo puede contener varios AppDomains Es mucho mas barato que múltiple procesos del sistema operativo Mucho menos costoso el intercambio de ejecución Un assembly y sus tipos son siempre cargados dentro de un AppDomain Provee una frontera para Fallos Tipos Seguridad

14 CLR, AppDomains y Assemblies

15 Assemblies - Aplicaciones.NET Al ejecutar una aplicación, ¿cómo ubico los assemblies necesarios? El Class Loader busca en el directorio local (preferido) Global Assembly Cache (GAC) Diferentes aplicaciones pueden usar diferentes versiones Actualizaciones más simples Desinstalación más simple

16 Ensamblado

17 MSIL Microsoft Intermediate Language Es el lenguaje nativo de.NET. Como su nombre lo indica es el Lenguaje Intermedio entre la aplicación y el procesador. Independiente al Procesador en el que se vaya a ejecutar. Parecido al código ensamblador, pero de alto nivel. Todas las aplicaciones.NET generan código MSIL.

18 CLR - MSIL

19 Código MSIL

20 ILDASM Herramienta para navegar por el IL de un PE


Descargar ppt "Los ensamblados y el código IL Contenido Módulo ¿Qué es un Ensamblado? El código MSIL."

Presentaciones similares


Anuncios Google