Qué are.NET ¿Asambleas?


¿Qué son los ensamblados. NET? He navegado por la red y no soy capaz de entender la definición.

 170
Author: Massyle Djama, 2010-06-04

18 answers

En términos más simples: Un fragmento de código (precompilado) que puede ser ejecutado por el entorno de ejecución.NET. Un programa. NET consiste en uno o más ensamblados.

 154
Author: Adrian Grigore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 09:08:18

Assembly es la unidad más pequeña de despliegue de una aplicación.net. Puede ser un dll o exe.
Hay principalmente dos tipos:

  1. Asamblea privada: El dll o exe que es propiedad exclusiva de una sola aplicación. Generalmente se almacena en la carpeta raíz de la aplicación

  2. Asamblea pública / compartida: Es un dll que puede ser utilizado por múltiples aplicaciones a la vez. Un ensamblado compartido se almacena en GAC es decir Caché de Ensamblaje Global.

Suena difícil? Naa....
GAC es simplemente C:\Windows\Assembly carpeta donde puedes encontrar los ensamblados/DLL públicos de todos los softwares instalados en tu PC.

También hay un tercer y menos conocido tipo de ensamblado: Montaje de Satélites.
Un ensamblaje satelital contiene solo objetos estáticos como imágenes y otros archivos no ejecutables requeridos por la aplicación.

Esperanza esto ayuda a los lectores!

 223
Author: mangeshkt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-07 12:07:10

Asambleas

Cuando compila una aplicación, el código MSIL creado se almacena en un ensamblado . Las asambleas incluyen ambos archivos de aplicación ejecutables que puede ejecutar directamente desde Windows sin la necesidad de ningún otro programas (estos tienen un .extensión de archivo exe), y bibliotecas (que tienen un .extensión dll) para uso de otros aplicación.

Además de contener MSIL, los ensamblajes también incluyen información meta (es decir, información sobre información contenido en la asamblea, también conocido como metadatos) y recursos opcionales (datos adicionales utilizado por el MSIL, como archivos de sonido e imágenes). La meta información permite que los ensamblajes sean completamente auto - descriptivo. No necesita otra información para usar un ensamblado, lo que significa que evita situaciones como como no agregar los datos necesarios al registro del sistema y así sucesivamente, que a menudo era un problema cuando desarrollo con otras plataformas.

Esto significa que la implementación de aplicaciones es a menudo como sencillo como copiar los archivos en un directorio computadora remota. Debido a que no se requiere información adicional en los sistemas de destino, solo puede ejecutar un archivo ejecutable de este directorio y (suponiendo que el. NET CLR está instalado) ' re bueno para ir.

Por supuesto, usted won ' t necesariamente quiere incluir todo lo necesario para ejecutar una aplicación en un solo lugar. Es posible que escriba algún código que realice las tareas requeridas por varias aplicaciones. En situaciones como esa, a menudo es útil colocar el código reutilizable en un lugar accesible para todas las aplicaciones. En el. NET Framework, este es el Caché de Ensamblaje Global (GAC). Colocar el código en el GAC es simple , solo tiene que colocar el ensamblado que contiene el código en el directorio que contiene esta caché.

 51
Author: Saleh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 09:07:30

Un ensamblado es el actual.archivo dll en su disco duro donde se almacenan las clases en. NET Framework. Por ejemplo, todas las clases contenidas en el ASP.NET El framework se encuentra en un ensamblado llamado System.Web.DLL.

Más exactamente, un ensamblado es la unidad principal de implementación, seguridad y control de versiones en.NET Framework. Debido a que un ensamblado puede abarcar varios archivos, un ensamblado a menudo se conoce como dll" lógico".

Nota

El. NET Framework (versión 2.0) incluye 51 ensamblajes.

Hay dos tipos de asambleas: privadas y compartidas. Un ensamblaje privado puede ser utilizado por una sola aplicación. Un ensamblado compartido, por otro lado, puede ser utilizado por todas las aplicaciones ubicadas en el mismo servidor.

Los ensamblados compartidos se encuentran en la Caché Global de Ensamblados (GAC). Por ejemplo, el Sistema.Web.el ensamblado dll y todos los demás ensamblados incluidos con. NET Framework se encuentran en el Ensamblado Global Cache.

Nota

La Caché de Ensamblado global se encuentra físicamente en la carpeta \WINDOWS\Assembly de su computadora. Hay una copia separada de cada ensamblado en su carpeta \ WINDOWS \ Microsoft. NET \ Framework \ v2.0. 50727. El primer conjunto de ensamblados se usa en tiempo de ejecución y el segundo conjunto se usa en tiempo de compilación.

Antes de poder usar una clase contenida en un ensamblado en su aplicación, debe agregar una referencia al ensamblado. Por defecto, un ASP.NET referencias de la aplicación ensamblados más comunes contenidos en la Caché de Ensamblados Global:

Mscorlib.dll

Sistema.dll

Sistema.Configuración.dll

Sistema.Web.dll

Sistema.Datos.dll

Sistema.Web.Servicio.dll

Sistema.XML.dll

Sistema.Dibujo.dll

Sistema.Servicios empresariales.dll

Sistema.Web.Móvil.dll

Para usar cualquier clase en particular en.NET Framework, debe hacer dos cosas. En primer lugar, su solicitud debe hacer referencia a la asamblea que contiene la clase. En segundo lugar, la aplicación debe importar el espacio de nombres asociado a la clase.

En la mayoría de los casos, no se preocupará de hacer referencia al ensamblado necesario porque los ensamblados más comunes se hacen referencia automáticamente. Sin embargo, si necesita usar un ensamblado especializado, debe agregar una referencia explícitamente al ensamblado. Por ejemplo, si necesita interactuar con Active Directory utilizando las clases del sistema.DirectoryServices espacio de nombres entonces usted tendrá que añadir una referencia al Sistema.DirectoryServices.ensamblado dll a su aplicación.

Cada entrada de clase en la documentación de.NET Framework SDK enumera el ensamblado y el espacio de nombres asociados con la clase. Por ejemplo, si busca la clase MessageQueue en la documentación, descubrirá que esta clase se encuentra en el Sistema.Espacio de nombres de mensajería ubicado en el Sistema.Mensajes.dll assembly.

Si está utilizando Visual Web Developer, puede agregar una referencia a un ensamblado explícitamente seleccionando la opción de menú Sitio web, Agregar referencia y seleccionando el nombre del ensamblado al que necesita hacer referencia. Por ejemplo, agregar una referencia al Sistema.Mensajes.el ensamblado dll hace que el archivo de configuración web de la lista 1.4 se agregue a su aplicación.

Eg. Web.Config

enter code here

Si prefiere no usar Visual Web Developer, puede agregar la referencia al Sistema.Mensajes.dll assembly creando el archivo en el ejemplo anterior por hand

 31
Author: Hung Vu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-09 07:05:31

Wikipedia tiene que decir:

En Microsoft. NET framework, un assembly es un código parcialmente compilado biblioteca para uso en implementación, control de versiones y seguridad. Hay dos tipos: ensamblajes de proceso (EXE) y asambleas de biblioteca (DLL). Proceso asamblea representa un proceso que utilizará clases definidas en la biblioteca Asamblea. Los ensamblados. NET contienen código en CIL, que suele ser generado a partir de un lenguaje CLI, y luego compilado en lenguaje de máquina en tiempo de ejecución por el CLR just-in-time compilación. Un conjunto puede consistir en uno o más archivos. Los archivos de código son llamados módulos. Una asamblea puede contener más de un módulo de código y ya que es posible utilizar diferentes idiomas para crear módulos de código es técnicamente posible utilizar varios diferentes idiomas para crear un Asamblea. Visual Studio sin embargo lo hace no es compatible con el uso de diferentes idiomas en una sola asamblea.

Si realmente lo hizo navegar ayudaría si usted aclare lo que no entiende

 8
Author: Christina Mayers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 09:06:50

Ver esto :

En Microsoft. NET framework, un ensamblado es una biblioteca de código parcialmente compilada para su uso en implementación, control de versiones y seguridad

 7
Author: Anton Gogolev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 09:06:34

Colección física de Clase, interfaz, enumeración, etc. que está en el código IL. Que puede ser .EXE or .Archivo DLL .EXE es un archivo ejecutable y .DLL puede usarse dinámicamente en cualquier idioma compatible con. net.

 7
Author: Govind KamalaPrakash Malviya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 10:49:39

Un ensamblado es una unidad de tiempo de ejecución que consta de tipos y otros recursos. Todos los tipos de un ensamblado tienen el mismo número de versión.

A menudo, un ensamblado solo tiene un espacio de nombres y es utilizado por un programa. Pero puede abarcar varios espacios de nombres. Además, un espacio de nombres puede extenderse sobre varios ensamblados. En diseños grandes, un ensamblaje puede consistir en varios archivos que se mantienen unidos por un manifiesto (es decir, una tabla de contenido).

En C#, un ensamblado es el despliegue más pequeño de un . net application.It puede ser un dll o un exe.It tiene dos tipos: 1. Asamblea Privada 2. Asamblea Pública / Compartida

 6
Author: Abhishek Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-25 07:28:37

MSDN tiene una buena explicación:

Los ensamblados son los bloques de construcción de las aplicaciones. NET Framework; forma la unidad fundamental de implementación, control de versiones, reutilización, ámbito de activación y seguridad permiso. Una asamblea es un colección de tipos y recursos que están construidos para trabajar juntos y formar un unidad lógica de funcionalidad. Un asamblea proporciona el lenguaje común tiempo de ejecución con la información que necesita para ser consciente del tipo aplicación. Para el tiempo de ejecución, un tipo no existe fuera del contexto de una asamblea.

 5
Author: Matt Warren,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 09:06:36

Además de la respuesta aceptada, quiero darte un ejemplo!

Por ejemplo, todos usamos

System.Console.WriteLine()

Pero Dónde está el código para System.Consola.¡WriteLine!?
cual es el código que realmente pone el texto en la consola?

Si miras la primera página de la documentación para la clase de consola, verás en la parte superior lo siguiente: Assembly: mscorlib (en mscorlib.DLL) Esto indica que el código para la clase Console se encuentra en un miembro llamado mscorlib. Un ensamblado puede consistir en varios archivos, pero en este caso es solo un archivo, que es la biblioteca de enlaces dinámicos mscorlib.DLL.

El mscorlib.el archivo dll es muy importante en. NET, es el DLL principal para las bibliotecas de clases en.NET, y contiene todas las clases y estructuras básicas de. NET.

Si conoce C o C++, generalmente necesita una directiva #include en la parte superior que haga referencia a un archivo de encabezado. El archivo de inclusión proporciona prototipos de funciones a la compilación. en el contraste, El compilador de C# no necesita archivos de cabecera. Durante la compilación, el compilador de C# accede al mscorlib.archivo dll directamente y obtiene información de metadatos en ese archivo sobre todas las clases y otros tipos definidos en el mismo.

El compilador de C# es capaz de establecer que mscorlib.dll de hecho contiene una clase llamada Console en un espacio de nombres llamado System con un método llamado WriteLine que acepta un solo argumento de tipo string.

El compilador de C # puede determinar que la llamada a WriteLine es válida, y el compilador establece una referencia al ensamblado mscorlib en el ejecutable.

Por defecto El compilador de C# accederá a mscorlib.dll, pero para otras DLL, necesitará decirle al compilador el ensamblado en el que se encuentran las clases. Estas son conocidas como referencias.

¡Espero que esté claro ahora!

De DotNetBookZero Charles pitzold

 3
Author: Ahmed KhaShaba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-11 12:02:33

En. Net, un ensamblado puede ser:

Una colección de varias partes manejables que contienen Types (or Classes), Resources (Bitmaps/Images/Strings/Files), Namespaces, Config Files compiled Privately or Publicly; deployed to a local or Shared (GAC) folder; discover-able by other programs/assemblies y; puede ser versión-ed.

 2
Author: VS1,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-28 16:51:05

As assembly es la unidad más pequeña de seguridad de control de versiones, implementación y reutilización de código en Microsoft.Net.

Contiene:

- Assembly Identity
- Manifest
- Metadata
- MSIL Code
- Security Information
- Assembly Header
 2
Author: Lay Leangsros,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-18 06:30:08

Un ensamblado es una colección de tipos y recursos que forma una unidad lógica de funcionalidad. Todos los tipos de. NET Framework deben existir en ensamblados; el tiempo de ejecución de common language no admite tipos fuera de ensamblados. Cada vez que crea una aplicación de Microsoft Windows®, un Servicio de Windows, una Biblioteca de clases u otra aplicación con Visual Basic.NET, está creando un único ensamblado. Cada ensamblaje se almacena como un .exe or .archivo dll.

Fuente : https://msdn.microsoft.com/en-us/library/ms973231.aspx#assenamesp_topic4

Para aquellos con fondo Java como yo espero que el siguiente diagrama aclare conceptos -

Los ensamblados son como los archivos jar (que contienen múltiples.archivos de clase). Su código puede hacer referencia a un ensamblador existente o su propio código puede publicarse como ensamblador para que otro código haga referencia y lo use (puede pensar esto como archivos jar en Java que puede agregar en las dependencias de su proyecto).

At al final del día, un ensamblado es un código compilado que se puede ejecutar en cualquier sistema operativo con CLR instalado. Esto es lo mismo que decir .el archivo de clase o jar incluido puede ejecutarse en cualquier máquina con JVM instalado.

introduzca la descripción de la imagen aquí

 2
Author: Aniket Thakur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-05 09:38:56

El ensamblado es la parte fundamental de la programación con.NET Framework. Contiene código que CLR ejecuta código MSIL (Lenguaje intermedio de Microsoft) en un archivo ejecutable portátil no se ejecutará si no tiene un manifiesto de ensamblado asociado.

 1
Author: Kamini joshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-10 06:09:56

Las aplicaciones.NET se construyen juntando cualquier número de ensamblados. En pocas palabras, un ensamblado no es más que un binario versionado y autodescrito (DLL o EXE) que contiene alguna colección de tipos (clases, interfaces, estructuras, etc.).) y recursos opcionales (imágenes, tablas de cadenas y demás). Una cosa a ser dolorosamente consciente en este momento, es que la organización interna de un ensamblado. NET no se parece en nada a la organización interna de un servidor COM clásico (independientemente de las extensiones de archivo compartidas).

 1
Author: Shivam Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-24 03:35:21

En.NET, cuando compilamos nuestro código fuente, el ensamblado se genera en Visual Studio. El ensamblado consta de dos partes Manifest e IL (Lenguaje Intermedio). Manifest contiene metadatos de ensamblado significa requisitos de versión de ensamblado, identidad de seguridad, nombres y hashes de todos los archivos que componen el ensamblado. IL contiene información sobre clases, constructores, método principal, etc.

 1
Author: Gagan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-15 21:23:56

Este enlace me pareció muy útil. Incluso le da una idea de cómo IL juega un papel en. NET.

Http://www.codeguru.com/columns/csharp_learning/article.php/c5845/C-FAQ-15--What-is-an-Assembly.htm

 1
Author: Brandon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-02 00:01:13

Las soluciones de Visual Studio consisten en uno o más proyectos. Por ejemplo: Los proyectos de consola pueden producir un ensamblado . Un ensamblado es lógicamente un trozo de código que se puede enviar a los clientes, y físicamente .EXE (programa ejecutable) o .DLL (son reutilizables por otros programas).

 1
Author: Eldiyar Talantbek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-21 04:22:31