DE .NET, SQLSERVER Y MÁS, APRENDE CONMIGO!✔

Desarrollo de todo tipo de aplicaciones y Administración de Base de datos con Tecnología Microsoft


UNETE

Ensamblado

0


 Ensamblado

El ensamblado .NET es el estándar para los componentes desarrollados con Microsoft.NET. Los ensamblados Dot NET pueden o no ser ejecutables, es decir, pueden existir como archivo ejecutable (.exe) o archivo de biblioteca de vínculos dinámicos (DLL). Todos los ensamblados .NET contienen la definición de tipos, información de control de versiones para el tipo, metadatos y manifiesto. Los diseñadores de .NET han trabajado mucho en la resolución de componentes (ensamblaje).

Hay dos tipos de ensamblajes en .NET;

·         privado

·         compartido

Los ensamblados privados son simples y se copian con cada ensamblaje de llamada en la carpeta de ensambladores de llamada.

Los ensamblados compartidos (también llamados ensamblados llamados fuertes) se copian en una sola ubicación (normalmente la caché de ensamblaje global). Para todos los ensamblados de llamada dentro de la misma aplicación, se utiliza la misma copia del ensamblado compartido desde su ubicación original. Por lo tanto, los ensamblados compartidos no se copian en las carpetas privadas de cada ensamblado de llamada. Cada ensamblado compartido tiene un nombre de cuatro partes incluyendo su nombre de cara, versión, símbolo de clave pública e información de cultura. El token de clave pública y la información de versión hace que sea casi imposible para dos conjuntos diferentes con el mismo nombre o para dos ensamblajes similares con diferentes versiones para mezclar entre sí.

Un ensamblado puede ser un solo archivo o puede consistir en varios archivos. En caso de multi-archivo, hay un módulo maestro que contiene el manifiesto, mientras que otros conjuntos existen como módulos no manifiesto. Un módulo en .NET es una parte secundaria de un ensamblado .NET multi-file. La Asamblea es una de las áreas más interesantes y extremadamente útiles de la arquitectura .NET, junto con reflexiones y atributos, pero desafortunadamente muy pocas personas se interesan en aprender temas tan teóricos.

Common Language Runtime (CLR):

La parte más importante del .NET Framework es el .Net Common Language Runtime (CLR) también llamado .Net Runtime en breve. Es una capa de framework que reside sobre el Sistema Operativo y maneja / administra la ejecución de las aplicaciones .NET. Nuestros programas .Net no se comunican directamente con el sistema operativo sino a través de CLR.

MSIL (Microsoft Intermediate Language) Código:

Cuando compilamos nuestro programa. Net utilizando cualquier lenguaje compatible con .Net (C #, VB.NET, C ++. NET) no se convierte en el código binario ejecutable sino en un código intermedio, llamado MSIL o IL en resumen, comprensible por CLR. MSIL es un sistema operativo y código independiente H / w. Cuando el programa necesita ser ejecutado, este código MSIL o intermedio se convierte en código binario ejecutable, llamado código nativo. La presencia de IL hace posible la Relación de Relación Cruzada ya que todos los lenguajes compatibles con .Net producen el código IL estándar similar.

Compiladores Just In Time (JITers):

Cuando nuestro código compilado de IL necesita ser ejecutado, CLR invoca compiladores JIT que compilan el código IL a código ejecutable nativo (.exe o .dll) para la máquina específica y el sistema operativo. JITers de diferentes maneras son diferentes de los compiladores tradicionales, ya que, como su nombre lo indica, compilar el IL a código nativo sólo cuando se desee, por ejemplo, cuando se llama una función, IL del cuerpo de la función se convierte en código nativo; Justo en el momento de necesidad. Por lo tanto, la parte de código que no se utiliza por ejecutar en particular no se convierte en código nativo. Si algún código IL se convierte en código nativo, la próxima vez que se necesite su uso, el CLR utiliza la misma copia sin volver a compilar. Por lo tanto, si un programa se ejecuta por algún tiempo, entonces no tendrá ninguna pena de rendimiento justo a tiempo. Como JITers son conscientes del procesador y OS exactamente en tiempo de ejecución, pueden optimizar el código de manera muy eficiente dando lugar a aplicaciones muy robustas. Además, dado que JITer conoce el estado actual exacto del código ejecutable, también puede optimizar el código mediante la alineación de pequeñas llamadas de función (como reemplazar el cuerpo de una pequeña función cuando se llama en un bucle, guardando el tiempo de llamada a la función). Aunque Microsoft afirmó que C # y .Net no están compitiendo con lenguajes como C ++ en eficiencia, velocidad de ejecución, JITers puede hacer que su código sea aún más rápido que el código C ++ en algunos casos cuando el programa se ejecuta durante un período prolongado de tiempo (como servidores web ).

Biblioteca de clases de Framework (FCL):

.NET Framework proporciona un conjunto enorme de Framework (o Base) Class Library (FCL) para tareas comunes y habituales. FCL contiene miles de clases para proporcionar acceso a la API de Windows y funciones comunes como Manipulación de cadenas, Estructuras de datos comunes, IO, Streams, Threads, Seguridad, Programación de red, Programación de Windows, Programación Web, Acceso a datos, etc. La biblioteca estándar siempre se envía con cualquier entorno de desarrollo o lenguaje de programación. La mejor parte de esta biblioteca es que siguen diseño OO extremadamente eficiente (patrones de diseño) haciendo su acceso y uso muy simple y predecible. Usted puede utilizar las clases en FCL en su programa apenas como usted utiliza cualquier otra clase e incluso puede aplicar la herencia y el polimorfismo en éstos.

DEMOSTRACIÓN

Crearemos una nueva solución de tipo librería de clase y le colocaremos como nombre ‘DemoAssembly’.



Posteriormente crearemos la clase de nombre ‘Persona’ la cual no tendrá propiedades sino un solo método denominado ‘Saludo’

Posteriormente crearemos la clase de nombre ‘Persona’ la cual no tendrá propiedades sino un solo método denominado ‘Saludo’

Entonces encontraremos un archivo .pfx en la solución. Ahora vamos a compilar el proyecto e ir a la carpeta de depuración de la aplicación. Encontrará un archivo DLL.


Ahora nos situamos en la solución de nuestro proyecto, le damos click derecho al mouse y nos dirigimos a Add à New Project


Seleccionamos la opción ‘Console Application’ y colocamos como nombre ‘DemoAssembly’ y damos click en el botón OK.


Ahora, una vez registrado con éxito, encontraremos el ensamblado en la siguiente ubicación. El archivo está registrado en esta ubicación en lugar de "Ventana / ensamblado" porque hemos usado el gacutil.exe del framework .NET para registrarse.

Nos situamos en la búsqueda y le damos click a ‘Examinar’


Agregamos el archivo dll.


Ahora haremos el llamado a nuestra librería


Y nuestro código quedará de la siguiente forma:


Y el resultado es el siguiente:








Tal vez te interesen estas entradas

No hay comentarios