2015-08-25 3 views
1

Pour autant que je crois comprendre,Que possède un exécutable compilé avec C#?

  1. Tout code qui est écrit en C# ou F # ou VB.Net, est compilé par leurs compilateurs respectifs dans Visual Studio au code IL. Ainsi, l'environnement d'exécution .NET (CLR) installé dans la machine du client utilisera ce code IL pour convertir le code machine et exécuter le programme.

La question est, que contient ce fichier EXE? IL et certains en-têtes?

+1

Oui ... Détails - https: //www.simple-talk.com/blogs/2011/03/15/anatomy-of-a-net-assembly-pe-headers/... vous pouvez surtout comprendre des informations en utilisant ILDasm. –

+1

Ce que @AlexeiLevenkov a dit et il aura aussi un code d'assemblage qui dit «Charger le CLR» –

+1

Voir: [Que contient un en-tête PE et un en-tête CLR dans le cadre du module géré dans les exécutables .NET? ] (http://stackoverflow.com/questions/20633444/what-is-contained-in-a-pe-header-and-clr-header-as-prt-of-managed-module-in-ne?rq= 1) [Comment fonctionne un exécutable .net ..?] (Https://dotnetech.wordpress.com/2009/08/14/how-does-a-net-executable-run/) –

Répondre

3

Dans le monde .NET, ces unités de base de déploiement sont appelés Assemblies, avec une extension .exe dans le cas d'une application, ou une extension .dll dans le cas d'une bibliothèque.

En bref, un ensemble contient quatre types de choses:

  1. An assembly manifest qui fournit des informations à l'exécution .NET, comme le nom de l'assemblée, la version, autorisations demandées, et d'autres assemblées qu'il les références.
  2. An application manifest qui fournit des informations au système d'exploitation, telles que la manière dont l'ensemble devrait être déployé et si une élévation administrative est requise.
  3. Compiled types: le code IL compilé et les métadonnées des types définis dans l'ensemble.
  4. et Resources: autres données incorporées dans l'ensemble, telles que des images et du texte localisable.

Parmi les quatre exemples ci-dessus, seul le manifeste d'assemblage est obligatoire.