2009-08-25 16 views

Respuesta

11

Se entiende generalmente que un módulo administrado hace referencia a un módulo que solo contiene código IL, sin código de máquina directo.

Un módulo se encuentra en un archivo PE normal.

Un conjunto es un conjunto de 1 o más módulos, con uno designado como 'cabeza' (buscará el término exacto [1]). Sin embargo, un módulo en sí mismo no es muy útil por sí solo: el conjunto es la unidad atómica.

Por ejemplo, podría tener un conjunto de módulos multui con 2 DLL y un EXE. Sin embargo, los ensambles de múltiples módulos son bastante raros.

El libro de Don Box Esssential .NET, el Richter CLR via C# ofrece una buena cobertura del tema. Para obtener detalles completos, el libro Serge Lidin .NET 2.0 IL Assembler y el estándar CLI son más completos.

[1] De acuerdo con http://www.programmersheaven.com/2/FAQ-DOTNET-DOTNET-Assembly-Explained

Un montaje puede ser un único archivo o puede consistir de los varios archivos. En caso de múltiples archivos, hay un módulo maestro que contiene el manifiesto mientras que otros conjuntos existen módulos que no se manifiestan

Para responder a las preguntas reales: -

Lo que se gestiona en el módulo de .NET y ¿cómo es diferente de las Asambleas?

Es un subconjunto - un DLL puede ser un módulo maestro sin módulos niño - y por lo tanto ser un montaje demasiado

es un archivo PE (por ejemplo test.dll.) Un módulo administrado o una asamblea?

Definitivamente un módulo. Si también tiene un manifiesto y ningún módulo secundario, también es un ensamblaje

¿Cómo se corresponde el ensamblaje/módulo administrado con los archivos físicos en el disco? Cada módulo es un archivo. (Herramientas como ILMerge pueden combinar módulos si está interesado)

0

Un módulo contiene IL y muchos de ellos están unidos entre sí para crear un montaje, que normalmente se encuentra en un PE como un .exe o un archivo .dll .

Un PE también puede contener código nativo (no gestionado).

This is a good intro to the concepts.

0

módulos administrados son las IL versiones compiladas de código fuente. La extensión del archivo creado al crear un módulo a partir de los archivos fuente es .netmodule.

Los ensamblados son archivos DLL 0 .exe que contienen módulos administrados, recursos y metadatos.

Cuestiones relacionadas