Qu'est-ce qu'un module géré dans .NET et en quoi est-il différent des assemblys? Est-ce qu'un fichier PE (par exemple test.dll) est un module géré ou un assembly? Comment l'assembly/module géré correspond-il aux fichiers physiques sur le disque?Qu'est-ce qu'un module géré (par rapport à un assemblage)?
Répondre
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é)
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é).
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.
- 1. assemblage inconnu avec un nom aléatoire chargé par application WPF
- 2. ArrayList par rapport à un tableau d'objets par rapport à la collection de T
- 3. Sql traitement par rapport à un traitement ASP.NET Runtime
- 4. WPF RoutedEvents étant géré par ...?
- 5. DLL par rapport à l'Assemblée
- 6. Executors.newCachedThreadPool() par rapport à Executors.newFixedThreadPool()
- 7. Correctif et correctif par rapport à la version de maintenance par rapport au Service Pack par rapport à
- 8. L'encapsulation par rapport à l'héritage, aide à faire un choix
- 9. Un thread non géré s'exécutant Code managé
- 10. Comment convertir un type non géré défini par l'utilisateur en type géré?
- 11. Lier à la position de l'élément par rapport à un parent dans WPF
- 12. Assemblage versionné par xaml en vrac
- 13. Allocation statique par rapport à l'allocation dynamique par rapport à l'allocation automatique
- 14. Passage d'un jeton d'emprunt d'identité sur un thread géré à un thread non géré
- 15. Comment connecter un bean géré par message JBoss4 à un sujet sur un serveur distant?
- 16. Module: référence à un autre module du desciptor
- 17. La qualité de l'équipe par rapport à un processus spécifique
- 18. ASP.NET État de l'application par rapport à un objet statique
- 19. ATI Stream par rapport à NVidia/CUDA
- 20. Dernier gestionnaire d'exceptions géré dans un exécutable mixte natif/géré?
- 21. Déployer un rapport Crystal par programme?
- 22. TextWriter.ReadToEnd par rapport à Unix wc Commande
- 23. Faire le dossier non géré par SVN
- 24. ListView.ItemCheck par rapport à ListView.ItemChecked .NET
- 25. Valeur par rapport à la référence
- 26. Maven par rapport à AspectJ - Exemple?
- 27. C# génériques par rapport à C++ modèles
- 28. python par rapport à l'empreinte Java runtime
- 29. Performances WCF net.tcp par rapport à namedpipes
- 30. ASP.NET Connexion à un site Web avec l'authentification par formulaire par rapport à aucune