¿Podría explicar qué es un ensamblado en C # o .NET?
- ¿Dónde comienza y dónde termina?
- ¿Qué información importante debo saber sobre los ensamblajes?
¿Podría explicar qué es un ensamblado en C # o .NET?
Respuestas:
Un ensamblado es la salida compilada de su código, generalmente una DLL, pero su EXE también es un ensamblado. Es la unidad de implementación más pequeña para cualquier proyecto .NET.
El ensamblado normalmente contiene código .NET en MSIL (lenguaje intermedio de Microsoft) que se compilará en código nativo ("JITted", compilado por el compilador Just-In-Time) la primera vez que se ejecute en una máquina determinada. Ese código compilado también se almacenará en el ensamblado y se reutilizará en llamadas posteriores.
El ensamblaje también puede contener recursos como iconos, mapas de bits, tablas de cadenas, etc. Además, el ensamblado también contiene metadatos en el manifiesto del ensamblado: información como número de versión, nombre seguro, cultura, ensamblados referenciados, etc.
En el 99% de sus casos, un ensamblaje equivale a un archivo físico en el disco; el caso de un ensamblaje de varios archivos (un ensamblaje, distribuido en más de un solo archivo) parece ser un caso de borde bastante extraño que he nunca he encontrado hasta ahora en mis más de 5 años de desarrollo .NET.
En un ensamblado de múltiples archivos, solo habría un manifiesto de ensamblado en una DLL o EXE y el código MSIL en varios archivos netmodule.
En el marco de Microsoft .NET, un ensamblado es una biblioteca de código parcialmente compilada para su uso en implementación, control de versiones y seguridad.
http://www.codeguru.com/columns/csharp_learning/article.php/c5845
Un ensamblado es un archivo que el compilador genera automáticamente después de la compilación exitosa de cada aplicación .NET. Puede ser una biblioteca de vínculos dinámicos o un archivo ejecutable. Se genera solo una vez para una aplicación y en cada compilación posterior, el ensamblado se actualiza.
Aquí hay otra explicación de la composición de .NET Assemblies, una minicita:
El marco .NET consta de los conceptos de módulos, ensamblados, que almacenan metadatos e información de manifiesto. Un conjunto puede contener varios módulos. Visual C # solo crea un módulo que el compilador de C # (csc.exe) convierte en un ensamblado, pero un ensamblado puede vincular muchos módulos .NET a través de la herramienta de línea de comandos del enlazador de ensamblado (al.exe). Por ejemplo, cada uno de los archivos .cs de su código fuente podría compilarse en un módulo y vincularse para formar un ensamblado; un ensamblado es solo una colección de módulos y recursos. Sin embargo, uno de estos módulos; debe contener información de metadatos de manifiesto (ver más abajo) para que CLR entienda el ensamblado.
....
Habiendo creado un nuevo .exe o .dll dentro de VS.NET, verá que su archivo aparece dentro de su carpeta bin. Al abrirlo en el bloc de notas, se emitirá un galimatías, o incluso dentro de un editor hexadecimal sin conocer la estructura del archivo, necesita una herramienta como ildasm.exe o CFF Explorer para darle sentido. La estructura del conjunto es la siguiente:Encabezado PE
Encabezado
CLR Metadatos
CLR
Código IL CLR
Datos nativos
La respuesta está en orden de comprensión inmediata.
En pocas palabras, es el proyecto compilado que involucra sus clases y archivos adicionales, si los hay. Es decir, cada proyecto de una solución es ensamblado .
O más técnicamente,
Un ensamblado es donde se almacena un tipo en el sistema de archivos. Los ensamblados son un mecanismo para implementar código. Por ejemplo, el
System.Data.dll
ensamblaje contiene tipos para administrar datos. Para utilizar tipos en otros ensamblados, se debe hacer referencia a ellos. - fuente
Como lo sabemos? Si echa un vistazo a las propiedades de un proyecto en la solución observa las , puede ver las siguientes imágenes.
Cuando compila el proyecto, resulta en DLL o EXE .
Cuando el compilador del lenguaje compila un código fuente, genera un ensamblado administrado y MSIL (MisroSoft Intermediate Language). Ese ensamblado contiene un archivo .dll o .exe . Un ensamblado puede ser de dos tipos: ensamblado privado y ensamblado compartido, el ensamblado compartido se almacena en GAC (caché de ensamblado global) para que cualquier aplicación pueda hacer referencia a él, mientras que el ensamblaje privado se almacena en la carpeta de la aplicación que puede ser utilizada por una sola aplicación.
Un ensamblado es un archivo DLL o EXE que se creará cuando lo publique o compile su aplicación.
Una Asamblea es una colección de unidades lógicas. Las unidades lógicas se refieren a los tipos y recursos que se requieren para construir una aplicación e implementarlos usando el marco .Net. Básicamente, Assembly es una colección de Exe y DLL. Es portátil y ejecutable.
Después de escribir el código fuente de su programa (proyecto), se crea un archivo que puede ser DLL o EXE dependiendo de su proyecto. Hace solo una vez para un solo proyecto. Tiene dos tipos 1: - simple 2: - conjunto único compartido o multiprograma que se usa solo en un solo programa, mientras que el compartido se puede usar para multiprograma