You are on page 1of 4

Librerías en C#

Problemas encontrados en la utilización de dll’s:


– Si al desinstalar un programa, este elimina una DLL que es
utilizada por otro programa, este último dejará
dejará de funcionar
correctamente.
Lenguajes de Programación 2 – Si un usuario cambia de posició
posición el archivo de la DLL utilizada
por un programa, este quizá
quizá no lo encuentre, por lo que
dejará
dejará de funcionar correctamente.

Librerías

LP2 2008 - 1 1 LP2 2008 - 1 2

Librerías en C# Librerías en C#
• Ensamblajes: • Un ensamblaje puede estar formado por uno o más
– Son unidades de instalación auto-descriptiva. Todos archivos, los que en conjunto contienen los
los archivos generados en .NET son parte de algún siguientes elementos:
ensamblaje. Por ejemplo, los ejecutables (*.EXE) son – Metadata del ensamblaje
ensamblajes. – Metadata de tipos
– Código MSIL
– Recursos

LP2 2008 - 1 3 LP2 2008 - 1 4


Librerías en C# Librerías en C#
• Ejemplo de ensamblaje tipo librería: • Ejemplo de ensamblaje tipo ejecutable:

Ensamblaje1.dll Ensamblaje 2 .exe Utilitarios .netmodule

Metadata del Metadata del Metadata de


Ensamblaje Ensamblaje tipos de datos

Metadata de Metadata de Código MSIL


tipos de datos tipos de datos

Imagen . jpeg
Código MSIL Código MSIL
Recursos
Recursos

LP2 2008 - 1 5 LP2 2008 - 1 6

Librerías en C# Librerías en C#
• Tipos de archivos dentro de un ensamblaje: • Características de un ensamblaje:
– Un archivo principal, EXE o DLL. – Es autodescriptivo.
– Cero, uno o más archivos de módulo de NET. – Registra sus dependencias a otros ensamblajes.
– Cero, uno o más archivos de recursos. – Pueden ser instalados en un mismo computador
diferentes versiones de un mismo ensamblaje, sin
causar conflicto.
– Instalación sin impactos.
– Se ejecutan dentro de Dominios de Aplicación de un
proceso.

LP2 2008 - 1 7 LP2 2008 - 1 8


Librerías en C# Librerías en C#
• Tipos de ensamblajes: – Públicos o compartidos.
– Privados: • Pueden ser utilizados por má
más de un programa, por lo
• Se instalan junto con el programa que los utiliza. que se instalan en un lugar comú
común.
• No se manejan nú números de versió
versión ni nombres • Estos ensamblajes deben seguir las siguientes reglas:
únicos. • Tener un nombre único (llamado nombre fuerte).
fuerte). Parte
• Este tipo de ensamblaje puede causar conflictos (de de este nombre es un nú
número de versió
versión mandatorio.
mandatorio.
versiones por ejemplo) pero solo en la aplicació
aplicación que • Mayormente, estar instalado en la Global Assembly
lo utiliza. Cache,
Cache, un pseudo-
pseudo-directorio dentro del directorio de
• Este tipo de ensamblaje no puede afectar otros Windows (por ejemplo, C:\ C:\WINNT\
WINNT\assembly para
programas. Windows 2000).
2000).

LP2 2008 - 1 9 LP2 2008 - 1 10

Librerías en C# Librerías en C#
• Componentes del Manifiesto: • Espacio de Nombres:
– El nombre identificatorio, la versión, la cultura y una – Es una extensión del nombre de un tipo de dato,
llave pública (una cadena de caracteres). permitiendo de esta forma organizar las clases
– Una lista de los archivos del ensamblaje. agrupándolas en espacios de nombres, según su
– Una lista de los ensamblajes referenciados por este. utilidad.
– Un conjunto de Solicitudes de Permiso.
– Metadata de tipos de datos.

LP2 2008 - 1 11 LP2 2008 - 1 12


Librerías en C# Librerías en C#
• Ejemplo: • Ejemplo:
using System; – Luego, para que se pueda utilizar Clase1 desde
Clase2, debemos crear el objeto Clase1 de la
namespace EspacioDeNombres1 {
siguiente manera:
public class Clase1 {
public void Saludame(string nombre)
nombre) {
Console.WriteLine("Hola " + nombre);
nombre); EspacioDeNombres1.Clase1
EspacioDeNombres1.Clase1 obj = new
EspacioDeNombres1.Clase1();
EspacioDeNombres1.Clase1();
}
}
}

LP2 2008 - 1 13 LP2 2008 - 1 14

You might also like