2009-08-25 4 views

Répondre

11

Un module géré est généralement considéré comme désignant un module qui contient uniquement du code IL, sans code machine direct.

Un module est logé dans un fichier PE normal.

Un assemblage est un ensemble de 1 ou plusieurs modules, dont un désigné comme «tête» (recherchera le terme exact [1]). Un module à lui seul n'est pas très utile individuellement - l'assemblage est l'unité atomique. Par exemple, vous pourriez avoir un assemblage multui-module avec 2 DLL et un EXE. Les assemblages multi-modules sont assez rares.

Le livre Don Box Esssential .NET, le Richter CLR via C# donne une bonne couverture du sujet. Pour plus de détails, le livre Serge Lidin .NET 2.0 IL Assembler et la norme CLI sont plus complets.

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

Un ensemble peut être un seul fichier ou il peut consister en des fichiers multiples. En cas de multi-fichiers, il y a un module maître contenant le manifeste alors que d'autres assemblées existent sous forme de modules non manifestes

Pour répondre aux questions réelles: -

Ce qui est géré module .NET et en quoi est-ce différent des assemblées?

Il est un sous-ensemble - une DLL peut être un module maître sans modules enfant - et donc être un assemblage trop

est un fichier PE (par exemple test.dll.) Un module managé ou un assemblage?

Certainement un module. S'il a aussi un manifeste et pas de modules enfants, c'est aussi un assemblage

Comment l'assemblage/module géré correspond-il aux fichiers physiques sur le disque? Chaque module est un fichier. (Des outils tels que ILMerge peuvent fusionner des modules si vous êtes intéressé)

0

Un module contient IL et beaucoup d'entre eux sont reliés entre eux pour créer un ensemble, qui est habituellement logé dans un PE comme un .exe ou .dll .

Un PE peut également contenir du code natif (non géré).

This is a good intro to the concepts.

0

modules gérés sont compilés les IL versions du code source. L'extension du fichier qui est construit lors de la création d'un module à partir des fichiers sources est .netmodule.

Les assemblys sont des DLL ou des fichiers .exe contenant des modules gérés, des ressources et des métadonnées.

Questions connexes